
Генеричка формула
(=TEXTJOIN("",1,VLOOKUP(T(IF(1,MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),xtable,2,0)))
Резиме
Да бисте слова у низу превели у бројеве, можете да користите формулу низа засновану на функцијама ТЕКСТЈОИН и ВЛООКУП, са дефинисаном табелом превода да бисте обезбедили потребна претраживања. У приказаном примеру, формула у Ц5 је:
(=TEXTJOIN("",1,VLOOKUP(T(IF(1,MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))),xtable,2,0)))
где је „ктабле“ именовани опсег Е5: Ф10.
Напомена: ово је формула низа и мора се унети са цонтрол + схифт + ентер.
Објашњење
У основи, ова формула користи операцију низа да генерише низ слова из улазног текста, преводи свако слово појединачно у број, затим поново спаја све бројеве и враћа излаз као низ.
Да бисмо рашчланили улазни низ у низ или слова, користимо функције МИД, РОВ, ЛЕН и ИНДИРЕЦТ попут ове:
MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)
ЛЕН враћа дужину улазног текста, који је повезан са „1:“ и предат је ИНДИРЕЦТ као текст. ИНДИРЕЦТ процењује текст као референцу на ред, а функција РОВ враћа низ бројева у МИД:
MID(B5,(1;2;3),1)
МИД тада издваја по један знак за сваку почетну позицију и имамо:
=TEXTJOIN("",1,VLOOKUP(T(IF(1,("a";"b";"c"))),xtable,2,0))
У основи тражимо од ВЛООКУП-а да истовремено пронађе подударање за „а“, „б“ и „ц“. Из опскурних разлога, овај низ морамо "дереференцирати" на посебан начин користећи функције Т и ИФ. Након покретања ВЛООКУП-а имамо:
=TEXTJOIN("",1,(9;4;6))
а ТЕКСТЈОИН враћа низ „946“.
Изнесите број
Да бисте број приказали као коначни резултат (уместо низа), додајте нулу. Математичка операција ће присилити низ у број.
Збирни бројеви
Да бисте сумирали бројеве, уместо да их наведете, можете ТЕКСТЈОИН заменити са СУМ овако:
=SUM(VLOOKUP(T(IF(1,MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))),xtable,2,0))
Напомена: функција ТЕКСТЈОИН уведена је путем претплатничког програма Оффице 365 2018. године.