Hi!
I have a base for fanfic that imports data and chapters via Airtables Webclipper. Some fanfics have 100+ chapters, so my base is set up to accomodate up to 125 chapters, one per field.
After a fanfic is imported I want to tagg it for the characters in it that have not yet been tagged and disregard the ones that are mentioned in passing, but aren’t “physically present†in the fic.
As is the code to find A (as in one) character looks like this:
IF(
FIND("A1",{
Disregard characters (mentioned, but not present)}),
'',
IF(
AND(
FIND("A1", {
Characters to Log}),
FIND("A1", {Characters})
),
'',
IF(
FIND("A2", {
Characters to Log}), "A1, ",
IF(FIND("A2",{
Chapter 00 - Oneshot}),IF(FIND("A1", {Characters}),'','A1 a00]\n'))&''&
IF(FIND("A2",{
Chapter 01}),IF(FIND("A1", {Characters}),'','A1 {01]\n'))&''& IF(FIND("A2",{
Chapter 02}),IF(FIND("A1", {Characters}),'','A1 "02]\n'))&''&
IF(FIND("A2",{
Chapter 03}),IF(FIND("A1", {Characters}),'','A1 "03]\n'))&''& IF(FIND("A2",{
Chapter 04}),IF(FIND("A1", {Characters}),'','A1 N04]\n'))&''&
IF(FIND("A2",{
Chapter 05}),IF(FIND("A1", {Characters}),'','A1 (05]\n'))&''& IF(FIND("A2",{
Chapter 06}),IF(FIND("A1", {Characters}),'','A1 ,06]\n'))&''&
IF(FIND("A2",{
Chapter 07}),IF(FIND("A1", {Characters}),'','A1 707]\n'))&''& IF(FIND("A2",{
Chapter 08}),IF(FIND("A1", {Characters}),'','A1 r08]\n'))&''&
IF(FIND("A2",{
Chapter 09}),IF(FIND("A1", {Characters}),'','A1 p09]\n'))&''& IF(FIND("A2",{
Chapter 10}),IF(FIND("A1", {Characters}),'','A1 C10]\n'))&''&
IF(FIND("A2",{
Chapter 11}),IF(FIND("A1", {Characters}),'','A1 —11]\n'))&''& IF(FIND("A2",{
Chapter 12}),IF(FIND("A1", {Characters}),'','A1 {12]\n'))&''&
IF(FIND("A2",{
Chapter 13}),IF(FIND("A1", {Characters}),'','A1 213]\n'))&''& IF(FIND("A2",{
Chapter 14}),IF(FIND("A1", {Characters}),'','A1 (14]\n'))&''&
IF(FIND("A2",{
Chapter 15}),IF(FIND("A1", {Characters}),'','A1 I15]\n'))&''& IF(FIND("A2",{
Chapter 16}),IF(FIND("A1", {Characters}),'','A1 F16]\n'))&''&
IF(FIND("A2",{
Chapter 17}),IF(FIND("A1", {Characters}),'','A1 17]\n'))&''& IF(FIND("A2",{
Chapter 18}),IF(FIND("A1", {Characters}),'','A1 a18]\n'))&''&
IF(FIND("A2",{
Chapter 19}),IF(FIND("A1", {Characters}),'','A1 r19]\n'))&''& IF(FIND("A2",{
Chapter 20}),IF(FIND("A1", {Characters}),'','A1 m20]\n'))&''&
IF(FIND("A2",{
Chapter 21}),IF(FIND("A1", {Characters}),'','A1 a21]\n'))&''& IF(FIND("A2",{
Chapter 22}),IF(FIND("A1", {Characters}),'','A1 n22]\n'))&''&
IF(FIND("A2",{
Chapter 23}),IF(FIND("A1", {Characters}),'','A1 m23]\n'))&''& IF(FIND("A2",{
Chapter 24}),IF(FIND("A1", {Characters}),'','A1 24]\n'))&''&
IF(FIND("A2",{
Chapter 25}),IF(FIND("A1", {Characters}),'','A1 n25]\n'))&''& IF(FIND("A2",{
Chapter 26}),IF(FIND("A1", {Characters}),'','A1 '26]\n'))&''&
IF(FIND("A2",{
Chapter 27}),IF(FIND("A1", {Characters}),'','A1 27]\n'))&''& IF(FIND("A2",{
Chapter 28}),IF(FIND("A1", {Characters}),'','A1 e28]\n'))&''&
IF(FIND("A2",{
Chapter 29}),IF(FIND("A1", {Characters}),'','A1 '29]\n'))&''& IF(FIND("A2",{
Chapter 30}),IF(FIND("A1", {Characters}),'','A1 h30]\n'))&''&
IF(FIND("A2",{
Chapter 31}),IF(FIND("A1", {Characters}),'','A1 e31]\n'))&''& IF(FIND("A2",{
Chapter 32}),IF(FIND("A1", {Characters}),'','A1 132]\n'))&''&
IF(FIND("A2",{
Chapter 33}),IF(FIND("A1", {Characters}),'','A1 h33]\n'))&''& IF(FIND("A2",{
Chapter 34}),IF(FIND("A1", {Characters}),'','A1 I34]\n'))&''&
IF(FIND("A2",{
Chapter 35}),IF(FIND("A1", {Characters}),'','A1 135]\n'))&''& IF(FIND("A2",{
Chapter 36}),IF(FIND("A1", {Characters}),'','A1 )36]\n'))&''&
IF(FIND("A2",{
Chapter 37}),IF(FIND("A1", {Characters}),'','A1 I37]\n'))&''& IF(FIND("A2",{
Chapter 38}),IF(FIND("A1", {Characters}),'','A1 e38]\n'))&''&
IF(FIND("A2",{
Chapter 39}),IF(FIND("A1", {Characters}),'','A1 )39]\n'))&''& IF(FIND("A2",{
Chapter 40}),IF(FIND("A1", {Characters}),'','A1 40]\n'))&''&
IF(FIND("A2",{
Chapter 41}),IF(FIND("A1", {Characters}),'','A1 e41]\n'))&''& IF(FIND("A2",{
Chapter 42}),IF(FIND("A1", {Characters}),'','A1 ,42]\n'))&''&
IF(FIND("A2",{
Chapter 43}),IF(FIND("A1", {Characters}),'','A1 43]\n'))&''& IF(FIND("A2",{
Chapter 44}),IF(FIND("A1", {Characters}),'','A1 D44]\n'))&''&
IF(FIND("A2",{
Chapter 45}),IF(FIND("A1", {Characters}),'','A1 ,45]\n'))&''& IF(FIND("A2",{
Chapter 46}),IF(FIND("A1", {Characters}),'','A1 I46]\n'))&''&
IF(FIND("A2",{
Chapter 47}),IF(FIND("A1", {Characters}),'','A1 D47]\n'))&''& IF(FIND("A2",{
Chapter 48}),IF(FIND("A1", {Characters}),'','A1 /48]\n'))&''&
IF(FIND("A2",{
Chapter 49}),IF(FIND("A1", {Characters}),'','A1 I49]\n'))&''& IF(FIND("A2",{
Chapter 50}),IF(FIND("A1", {Characters}),'','A1 p50]\n'))&''&
IF(FIND("A2",{
Chapter 51}),IF(FIND("A1", {Characters}),'','A1 &51]\n'))&''& IF(FIND("A2",{
Chapter 52}),IF(FIND("A1", {Characters}),'','A1 ;52]\n'))&''&
IF(FIND("A2",{
Chapter 53}),IF(FIND("A1", {Characters}),'','A1 a53]\n'))&''& IF(FIND("A2",{
Chapter 54}),IF(FIND("A1", {Characters}),'','A1 )54]\n'))&''&
IF(FIND("A2",{
Chapter 55}),IF(FIND("A1", {Characters}),'','A1 \55]\n'))&''& IF(FIND("A2",{
Chapter 56}),IF(FIND("A1", {Characters}),'','A1 556]\n'))&''&
IF(FIND("A2",{
Chapter 57}),IF(FIND("A1", {Characters}),'','A1 157]\n'))&''& IF(FIND("A2",{
Chapter 58}),IF(FIND("A1", {Characters}),'','A1 ,58]\n'))&''&
IF(FIND("A2",{
Chapter 59}),IF(FIND("A1", {Characters}),'','A1 ,59]\n'))&''& IF(FIND("A2",{
Chapter 60}),IF(FIND("A1", {Characters}),'','A1 s60]\n'))&''&
IF(FIND("A2",{
Chapter 61}),IF(FIND("A1", {Characters}),'','A1 t61]\n'))&''& IF(FIND("A2",{
Chapter 62}),IF(FIND("A1", {Characters}),'','A1 r62]\n'))&''&
IF(FIND("A2",{
Chapter 63}),IF(FIND("A1", {Characters}),'','A1 C63]\n'))&''& IF(FIND("A2",{
Chapter 64}),IF(FIND("A1", {Characters}),'','A1 ,64]\n'))&''&
IF(FIND("A2",{
Chapter 65}),IF(FIND("A1", {Characters}),'','A1 A65]\n'))&''& IF(FIND("A2",{
Chapter 66}),IF(FIND("A1", {Characters}),'','A1 D66]\n'))&''&
IF(FIND("A2",{
Chapter 67}),IF(FIND("A1", {Characters}),'','A1 F67]\n'))&''& IF(FIND("A2",{
Chapter 68}),IF(FIND("A1", {Characters}),'','A1 I68]\n'))&''&
IF(FIND("A2",{
Chapter 69}),IF(FIND("A1", {Characters}),'','A1 }69]\n'))&''& IF(FIND("A2",{
Chapter 70}),IF(FIND("A1", {Characters}),'','A1 70]\n'))&''&
IF(FIND("A2",{
Chapter 71}),IF(FIND("A1", {Characters}),'','A1 t71]\n'))&''& IF(FIND("A2",{
Chapter 72}),IF(FIND("A1", {Characters}),'','A1 h72]\n'))&''&
IF(FIND("A2",{
Chapter 73}),IF(FIND("A1", {Characters}),'','A1 ƒ73]\n'))&''& IF(FIND("A2",{
Chapter 74}),IF(FIND("A1", {Characters}),'','A1 ð74]\n'))&''&
IF(FIND("A2",{
Chapter 75}),IF(FIND("A1", {Characters}),'','A1 "75]\n'))&''& IF(FIND("A2",{
Chapter 76}),IF(FIND("A1", {Characters}),'','A1 "76]\n'))&''&
IF(FIND("A2",{
Chapter 77}),IF(FIND("A1", {Characters}),'','A1 N77]\n'))&''& IF(FIND("A2",{
Chapter 78}),IF(FIND("A1", {Characters}),'','A1 (78]\n'))&''&
IF(FIND("A2",{
Chapter 79}),IF(FIND("A1", {Characters}),'','A1 79]\n'))&''& IF(FIND("A2",{
Chapter 80}),IF(FIND("A1", {Characters}),'','A1 m80]\n'))&''&
IF(FIND("A2",{
Chapter 81}),IF(FIND("A1", {Characters}),'','A1 81]\n'))&''& IF(FIND("A2",{
Chapter 82}),IF(FIND("A1", {Characters}),'','A1 p82]\n'))&''&
IF(FIND("A2",{
Chapter 83}),IF(FIND("A1", {Characters}),'','A1 m83]\n'))&''& IF(FIND("A2",{
Chapter 84}),IF(FIND("A1", {Characters}),'','A1 '84]\n'))&''&
IF(FIND("A2",{
Chapter 85}),IF(FIND("A1", {Characters}),'','A1 p85]\n'))&''& IF(FIND("A2",{
Chapter 86}),IF(FIND("A1", {Characters}),'','A1 [86]\n'))&''&
IF(FIND("A2",{
Chapter 87}),IF(FIND("A1", {Characters}),'','A1 '87]\n'))&''& IF(FIND("A2",{
Chapter 88}),IF(FIND("A1", {Characters}),'','A1 '88]\n'))&''&
IF(FIND("A2",{
Chapter 89}),IF(FIND("A1", {Characters}),'','A1 [89]\n'))&''& IF(FIND("A2",{
Chapter 90}),IF(FIND("A1", {Characters}),'','A1 r90]\n'))&''&
IF(FIND("A2",{
Chapter 91}),IF(FIND("A1", {Characters}),'','A1 '91]\n'))&''& IF(FIND("A2",{
Chapter 92}),IF(FIND("A1", {Characters}),'','A1 a92]\n'))&''&
IF(FIND("A2",{
Chapter 93}),IF(FIND("A1", {Characters}),'','A1 r93]\n'))&''& IF(FIND("A2",{
Chapter 94}),IF(FIND("A1", {Characters}),'','A1 "94]\n'))&''&
IF(FIND("A2",{
Chapter 95}),IF(FIND("A1", {Characters}),'','A1 a95]\n'))&''& IF(FIND("A2",{
Chapter 96}),IF(FIND("A1", {Characters}),'','A1 N96]\n'))&''&
IF(FIND("A2",{
Chapter 97}),IF(FIND("A1", {Characters}),'','A1 "97]\n'))&''& IF(FIND("A2",{
Chapter 98}),IF(FIND("A1", {Characters}),'','A1 ,98]\n'))&''&
IF(FIND("A2",{
Chapter 99}),IF(FIND("A1", {Characters}),'','A1 N99]\n'))&''& IF(FIND("A2",{
Chapter 100}),IF(FIND("A1", {Characters}),'','A1 100]\n'))&''&
IF(FIND("A2",{
Chapter 101}),IF(FIND("A1", {Characters}),'','A1 (101]\n'))&''& IF(FIND("A2",{
Chapter 102}),IF(FIND("A1", {Characters}),'','A1 e102]\n'))&''&
IF(FIND("A2",{
Chapter 103}),IF(FIND("A1", {Characters}),'','A1 ,103]\n'))&''& IF(FIND("A2",{
Chapter 104}),IF(FIND("A1", {Characters}),'','A1 h104]\n'))&''&
IF(FIND("A2",{
Chapter 105}),IF(FIND("A1", {Characters}),'','A1 105]\n'))&''& IF(FIND("A2",{
Chapter 106}),IF(FIND("A1", {Characters}),'','A1 ð106]\n'))&''&
IF(FIND("A2",{
Chapter 107}),IF(FIND("A1", {Characters}),'','A1 h107]\n'))&''& IF(FIND("A2",{
Chapter 108}),IF(FIND("A1", {Characters}),'','A1 "108]\n'))&''&
IF(FIND("A2",{
Chapter 109}),IF(FIND("A1", {Characters}),'','A1 ð109]\n'))&''& IF(FIND("A2",{
Chapter 110}),IF(FIND("A1", {Characters}),'','A1 (110]\n'))&''&
IF(FIND("A2",{
Chapter 111}),IF(FIND("A1", {Characters}),'','A1 "111]\n'))&''& IF(FIND("A2",{
Chapter 112}),IF(FIND("A1", {Characters}),'','A1
112]\n'))&''&
IF(FIND("A2",{
Chapter 113}),IF(FIND("A1", {Characters}),'','A1 (113]\n'))&''& IF(FIND("A2",{
Chapter 114}),IF(FIND("A1", {Characters}),'','A1 <114]\n'))&''&
IF(FIND("A2",{
Chapter 115}),IF(FIND("A1", {Characters}),'','A1 m115]\n'))&''& IF(FIND("A2",{
Chapter 116}),IF(FIND("A1", {Characters}),'','A1 '116]\n'))&''&
IF(FIND("A2",{
Chapter 117}),IF(FIND("A1", {Characters}),'','A1 p117]\n'))&''& IF(FIND("A2",{
Chapter 118}),IF(FIND("A1", {Characters}),'','A1 &118]\n'))&''&
IF(FIND("A2",{
Chapter 119}),IF(FIND("A1", {Characters}),'','A1 '119]\n'))&''& IF(FIND("A2",{
Chapter 120}),IF(FIND("A1", {Characters}),'','A1 ]120]\n'))&''&
IF(FIND("A2",{
Chapter 121}),IF(FIND("A1", {Characters}),'','A1 1121]\n'))&''& IF(FIND("A2",{
Chapter 122}),IF(FIND("A1", {Characters}),'','A1 1122]\n'))&''&
IF(FIND("A2",{
Chapter 123}),IF(FIND("A1", {Characters}),'','A1 ,123]\n'))&''& IF(FIND("A2",{
Chapter 124}),IF(FIND("A1", {Characters}),'','A1 ,124]\n'))&''&
IF(FIND("A2",{
Chapter 125}),IF(FIND("A1", {Characters}),'','A1 s125]\n'))
)
)
)
A1 and A2 gets replaced with character name and variation. It works just fine, but is as you see very bulky. The issue is that I need to check for up to 300 different characters.
For simplicity I want it to mention in what chapter(-s) it found the character, as the code does, even though removing that would cut out some bulkyness, so that is not an option to help trim it down.
So my question is if this can be condensed to something way more elegant?
I assume scripting would be the ideal route to go, but as is that is a completely foreign land and language for me.
If it can be condensed I would be ever so thankful if you could explain the how, so that I can (hopefully) learn a bit better.