
Kopsavilkums
Lai tulkotu teksta vērtības skaitļos un summētu rezultātu, varat izmantot INDEX un MATCH formulu un funkciju SUM. Parādītajā piemērā H5 formula ir:
(=SUM(INDEX(value,N(IF(1,MATCH(C5:G5,code,0))))))
kur "kods" ir nosauktais diapazons K5: K9 un "vērtība" ir nosauktais diapazons L5: L9.
Piezīme: šī ir masīva formula, un tā jāievada ar vadības taustiņu + Shift + Enter.
Paskaidrojums
Šīs formulas pamats ir INDEX un MATCH pamata formula, ko izmanto, lai tekstu vērtības pārveidotu skaitļos, kā noteikts uzmeklēšanas tabulā. Piemēram, lai tulkotu “EX” uz atbilstošo skaitli, mēs izmantotu:
=INDEX(value,MATCH("EX",code,0))
kas atgrieztos 4.
Šīs problēmas pagrieziens ir tāds, ka mēs vēlamies tulkot un summēt virkni teksta vērtību kolonnās C līdz G skaitļos. Tas nozīmē, ka mums jānorāda vairāk nekā viena uzmeklēšanas vērtība, un mums ir nepieciešams INDEX, lai atgrieztu vairāk nekā vienu rezultātu. Standarta pieeja ir šāda formula:
=SUM(INDEX(value,MATCH(C5:G5,code,0)))
Pēc MATCH izpildes mums ir masīvs ar 5 vienumiem:
=SUM(INDEX(value,(2,2,3,2,5)))
Tāpēc šķiet, ka INDEX vajadzētu atgriezt SUM 5 rezultātus. Tomēr, ja jūs to izmēģināt, funkcija INDEX atgriezīs tikai vienu rezultātu SUM. Lai panāktu, ka INDEX atgriež vairākus rezultātus, mums jāizmanto diezgan neskaidrs triks un MATCH jāiesaiņo N un IF šādi:
N(IF(1,MATCH(C5:G5,code,0)))
Tas faktiski piespiež INDEX nodrošināt vairāk nekā vienu vērtību SUM funkcijai. Pēc INDEX palaišanas mums ir:
=SUM((3,3,2,3,-1))
Un funkcija SUM atgriež masīva vienumu summu 10. Lai labi pierakstītu šo rīcību, skatiet šo interesanto rakstu EXCELXOR vietnē.