Excel formula: Vsote besedilnih vrednosti, kot so številke -

Kazalo

Povzetek

Če želite besedilne vrednosti prevesti v številke in sešteti rezultat, lahko uporabite formulo INDEX in MATCH ter funkcijo SUM. V prikazanem primeru je formula v H5:

(=SUM(INDEX(value,N(IF(1,MATCH(C5:G5,code,0))))))

kjer je "koda" imenovani obseg K5: K9, "vrednost" pa imenovani obseg L5: L9.

Opomba: to je matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Pojasnilo

Srce te formule je osnovna formula INDEX in MATCH, ki se uporablja za prevajanje besedilnih vrednosti v številke, kot je določeno v iskalni tabeli. Na primer, za prevod "EX" v ustrezno številko bi uporabili:

=INDEX(value,MATCH("EX",code,0))

ki bi se vrnil 4.

Zasuk v tej težavi je, da želimo prevesti in sešteti obseg besedilnih vrednosti v stolpcih C do G v številke. To pomeni, da moramo navesti več kot eno iskalno vrednost, za vrnitev več kot enega rezultata pa potrebujemo INDEX. Standardni pristop je formula, kot je ta:

=SUM(INDEX(value,MATCH(C5:G5,code,0)))

Po zagonu MATCH imamo matriko s 5 elementi:

=SUM(INDEX(value,(2,2,3,2,5)))

Zdi se torej, da bi INDEX moral vrniti 5 rezultatov v SUM. Če poskusite to, bo funkcija INDEX vrnila samo en rezultat SUM. Če želimo, da INDEX vrne več rezultatov, moramo uporabiti precej nejasen trik in MATCH zaviti v N in IF tako:

N(IF(1,MATCH(C5:G5,code,0)))

To učinkovito prisili INDEX, da funkciji SUM posreduje več kot eno vrednost. Po zagonu INDEX imamo:

=SUM((3,3,2,3,-1))

In funkcija SUM vrne vsoto elementov v matriki, 10. Za dober opis tega vedenja si oglejte ta zanimiv članek na spletnem mestu EXCELXOR.

Zanimive Članki...