midx
|
|
midx 紹介:
【機能】
「MIDX」ユーザー定義関数は、文字列の右より指定した位置から指定された数の文字を取り出します。
通常の組み込み関数と同じようにワークシート上で使用できる関数です。
書式 =MIDX(文字列、右からの開始位置,文字数)
MIDX 関数では、半角と全角の区別なく 1 文字を 1 として処理が行われます。
文字列 取り出す文字を含む文字列またはセルへの参照を指定します。
右からの開始位置
文字列から取り出す右からの先頭文字の位置 (文字番号) を数値で指定します。
文字列の 右の先頭文字の位置が 1 になります。
文字数 取り出す文字数を指定します。
2以上を指定すると右からの開始位置から左側の文字列を取り出します。
右からの開始位置が文字列の文字数 より多い場合、エラー値 #VALUE! が返されます。
文字数に負の数を指定すると、エラー値 #VALUE! が返されます。
A1セルに数値
12345678
が入力されている場合
=midx(A1,1,1)
8
右から1文字目の1文字が返ります。
=midx(A1,1,2)
78
右から1文字目からの2文字が返ります。
応用としてセルに入力した数値を、右端の数値から1桁ずつ取り出す場合
(下の例では、A列の文字列に対して、J列を1桁目の起点としています。)
セルJ1には、
=IF(LEN($A1)<COLUMN($J1)-COLUMN()+1,"",midx($A1,COLUMN($J1)-COLUMN()+1,1))
と入力します。
数式で、セル参照の列を絶対参照することがポイントです。
数式の意味
IF(LEN($A1)<COLUMN($J1)-COLUMN()+1,"",
もしセル$A1の文字列の長さが、セル$J1の列番号(この場合10)から数式入力セルの列番号(この場合10)+1(この場合10-10+1で1)より小さい場合何も表示しません。
midx($A1,COLUMN($J1)-COLUMN()+1,1)
セルA1の文字列の、セル$J1の列番号(この場合10)から数式入力セルの列番号(この場合10)+1(この場合10-10+1で1)文字目を開始位置として、1文字を返します。

