Well, it can be done, but it will probably be ugly! 
I’d first create a field called something like {URLCount}
with the following formula
LEN({URLString})-LEN(SUBSTITUTE({URLString},',',''))+1
(That’s @Simon_Brown’s clever trick to count the number of [whatevers] in a list of [whatevers]. It can be hard to deconstruct, but it takes the length of the original string and subtracts from it the length of the string with all the separation-character commas removed — essentially counting the number of commas — to which it then adds 1
to account for the final element in the list, which lacks a trailing comma.)
After that, I’d define my 20 extracted URL fields, each with a variant of this formula:

So for {URL3}
the formula would be
IF(
{URLCount}>=3,
MID(
{URLString}&',',
FIND(
',',
{URLString},
(LEN({URL1})+2)
)+1,
FIND(
',',
{URLString}&',',
(LEN({URL1})+2)+
(LEN({URL2})+2)
)-FIND(
',',
{URLString}&',',
(LEN({URL1})+2)
)-1
)
)
and for {URL4}
IF(
{URLCount}>=4,
MID(
{URLString}&',',
FIND(
',',
{URLString},
(LEN({URL1})+2)+
(LEN({URL2})+2)
)+1,
FIND(
',',
{URLString}&',',
(LEN({URL1})+2)+
(LEN({URL2})+2)+
(LEN({URL3})+2)
)-FIND(
',',
{URLString}&',',
(LEN({URL1})+2)+
(LEN({URL2})+2)
)-1
)
As you can imagine, by the time you get to {URL20}
, those chained LEN()
statements will be pretty long. (And, yes, it would probably be better practice and more efficient to sum the LEN()
s and then add 2
* the number of LEN()'s, but adding 2
to each statement individually is far more copy-and-paste-friendly.)
[BTW, Airtable will let you compose formulas offline — under Windows, I personally recommend Notepad++ for its automatic indentation and parenthesis-matching features — and then copy-and-paste indented code into the formula field. What’s more, if you copy-and-paste the formula from Airtable back into Notepad++ to correct or modify, the indentation is maintained. Offline composition makes creating behemoths like these far more manageable.]
Obviously, the formulas for {URL1}
and {URL2}
will be a little different; I’m including them for completeness’ sake.
{URL1}
:
IF(
{URLCount}>=1,
MID(
{URLString}&',',
1,
FIND(
',',
{URLString}&',',
1
)-1
)
)
{URL2}
:
IF(
{URLCount}>=2,
MID(
{URLString}&',',
FIND(
',',
{URLString},
0
)+1,
FIND(
',',
{URLString}&',',
(LEN({URL1})+2)
)-FIND(
',',
{URLString}&',',
0
)-1
)
)
I’ve put together a little demo of this code (up through {URL4}
, only — didn’t want to have all the fun
) here.
Hope this helps!