Excel vzorec: Převést řetězec na pole -

Obsah

Obecný vzorec

(=MID(string,ROW(INDIRECT("1:"&LEN(string))),1))

souhrn

Chcete-li převést řetězec na pole, které obsahuje jednu položku pro každé písmeno, můžete použít vzorec pole založený na funkcích MID, ROW, LEN a INDIRECT. To může být někdy užitečné v jiných vzorcích, které manipulují s textem na úrovni znaků.

V zobrazeném příkladu je vzorec v C5:

(=MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1))

Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.

Vysvětlení

Při práci zevnitř ven funkce LEN vypočítá délku řetězce a toto je spojeno zřetězením s „1:“, čímž se vytvoří textový rozsah takto: „1: 3“

Tento text je předán do INDIRECT, který vyhodnotí text jako odkaz a vrátí výsledek funkci ROW. Funkce ROW vrací řádky obsažené v odkazu v řadě čísel, jako je tato:

(1;2;3)

Všimněte si, že pro každé písmeno v původním textu máme jedno číslo.

Toto pole jde do funkce MID pro argument start_num. Text pochází ze sloupce B a počet znaků je pevně zakódován jako 1

Nakonec MID s více počátečními čísly vrátí více výsledků v takovém poli.

("R";"e";"d")

Zajímavé články...