Open4

Excel Tips

あさひあさひ

文字列を区切って特定の箇所を抜き出す

M365から追加された、TEXTSPLIT関数とCHOOSECOLS関数で実現出来る。

例えば以下の状態で、
B1にTEXTSPLIT(A1," ")と入れると、

この様に指定した区切り文字で分割され、スピルで出力される。

スピルは配列として扱えるので、
CHOOSECOLS(TEXTSPLIT(A1," "),2)
とするとこの様に2番目の要素だけが取得できる。

あさひあさひ

個人的最強関数、LET

個人的にはM365で追加された関数の中で最強だと思っているもの。
使い方は至ってシンプルで
=LET(
変数名,値
計算
)
の形で処理を定義し、計算の後には変数の定義は行えない。
当然変数には関数の処理結果も代入出来るので、
同じ処理を何度も書く必要が無い優れもの。

あさひあさひ

XLOOKUPで探したいけど複数列に跨がる場合の対処

かなりマニアック(主観)ではあるが、この様なシチュエーションがあったとする。

XLOOKUPで指定出来るのはそれぞれ単一の列なので、
VSTACK関数で無理矢理列を結合することで解決出来る。

するとこの様に2列の表に変換が出来るので、探索がしやすくなる。

あさひあさひ

スピルが便利だよという話

大分前の話ではあるが、バージョン1911からスピルという機能が追加されている。

誤解を恐れず端的に言えば、あるセルで処理した結果が隣接するセルにも表示されるという物で、
例えば表をフィルターした結果を表示するFILTER関数などは、
フィルター結果が関数を定義したセルを起点に、フィルターに合致した表が展開される。

Googleのサジェスチョンなどでは、「スピル いらない」と嫌われている様だが、
ある程度プログラミングに慣れたユーザーにとっては、
処理結果を配列の様に扱う事が出来るので非常に便利。

今まではFINDやSUBSTITUTEを駆使して行っていた文字列を分割して抽出する処理も、
TEXTSPLIT関数で返された配列をCHOOSECOLSやINDEXで楽に抽出が出来る。

というより、このバージョンで実装された新たな関数は、
割とこのスピルを返す事が多い印象なので、慣れているに越したことは無いと思われる。