Skip to content

Instantly share code, notes, and snippets.

@BBischof
Created September 13, 2017 19:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BBischof/a9ecffa48a4f438bf338a8c73b1a5bda to your computer and use it in GitHub Desktop.
Save BBischof/a9ecffa48a4f438bf338a8c73b1a5bda to your computer and use it in GitHub Desktop.
A `.split()` function for excel—assumes 0 index, "-" delimiter, and reference cell "A2" but are all customizable. Outputs a string representation of the formula
def recurse(remaining_steps, delimiter='"-"', reference_cell="A2"):
if remaining_steps==0:
return 'SEARCH('+delimiter+','+reference_cell+')+1'
else:
return 'SEARCH('+delimiter+','+reference_cell+','+recurse(remaining_steps-1, delimiter, reference_cell)+')+1'
def build(i, delimiter='"-"', reference_cell="A2"):
if i<0:
raise ValueError
elif i==0:
return 'LEFT('+reference_cell+', SEARCH('+delimiter+','+reference_cell+')-1)'
elif i>=1:
return 'MID('+reference_cell+', '+recurse(i-1,delimiter,reference_cell)+', '+
recurse(i,delimiter,reference_cell)[:-2]+"-"+
recurse(i-1,delimiter,reference_cell)[:-2]+'-1)'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment