![](https://cdn.wiki-base.com/2292572/excel_formula_translate_letters_to_numbers__2.png.webp)
Általános képlet
(=TEXTJOIN("",1,VLOOKUP(T(IF(1,MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),xtable,2,0)))
Összegzés
A karakterlánc betűinek számokká történő lefordításához használhatja a TEXTJOIN és a VLOOKUP függvényeken alapuló tömbképletet, egy meghatározott fordítási táblával a szükséges keresések biztosításához. A bemutatott példában a C5 képlete a következő:
(=TEXTJOIN("",1,VLOOKUP(T(IF(1,MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))),xtable,2,0)))
ahol "xtable" az E5: F10 megnevezett tartomány.
Megjegyzés: ez egy tömbképlet, amelyet a control + shift + enter billentyűkombinációval kell megadni.
Magyarázat
Lényegében ez a képlet tömbművelettel generálja a betűtömböt a beviteli szövegből, minden betűt külön-külön lefordít egy számra, majd az összes számot újra összekapcsolja, és a kimenetet stringként adja vissza.
A bemeneti karakterlánc tömb vagy betűkké történő elemzéséhez a következő MID, ROW, LEN és INDIRECT függvényeket használjuk:
MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)
A LEN visszaadja a bevitt szöveg hosszát, amelyet összefűzve "1:" -re állítunk, és szövegként a INDIRECT-nek adjuk át. Az INDIRECT a szöveget sorhivatkozásként értékeli, és a ROW függvény számtömböt ad vissza MID-be:
MID(B5,(1;2;3),1)
A MID ekkor kivon egy karaktert minden kiindulási helyzethez, és megvan:
=TEXTJOIN("",1,VLOOKUP(T(IF(1,("a";"b";"c"))),xtable,2,0))
Lényegében arra kérjük a VLOOKUP-ot, hogy egyszerre találjon megfelelőt az "a", "b" és "c" kifejezésre. Homályos okokból ezt a tömböt különös módon "el kell vetnünk" a T és az IF függvények felhasználásával. A VLOOKUP futása után:
=TEXTJOIN("",1,(9;4;6))
és a TEXTJOIN a "946" karakterláncot adja vissza.
Írjon ki egy számot
Ha végeredményként egy számot szeretne kiírni (karakterlánc helyett), adjon hozzá nulla értéket. A matematikai művelet a karakterláncot számra kényszeríti.
Összegszámok
Összefoglalva a számokat, ahelyett, hogy felsorolná őket, a TEXTJOIN-t a következővel cserélheti le:
=SUM(VLOOKUP(T(IF(1,MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))),xtable,2,0))
Megjegyzés: a TEXTJOIN funkciót az Office 365 előfizetési programon keresztül vezették be 2018-ban.