回答:
空白の値が「スペース」を意味し、XLSがExcelを意味する場合、次の式を使用できます(最後のスペースを検索するテストがにあると仮定しますA1
)。
=FIND("☃",SUBSTITUTE(A1," ","☃",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))
次の3つの部分に分けることができます。
LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
スペースの数を与えます、それを呼び出しましょうx
、SUBSTITUTE(A1," ","☃",[x])
x
番目のスペース(最後のスペース)を雪だるまに置き換えます。FIND("☃",[...])
雪だるまの位置がわかります。これは最後のスペースの位置です。別の方法は、A1ですべてのキャラクターを許可します(雪だるまも!)
=LOOKUP(2^15,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))))
FIND
検索の開始位置を定義する3番目の引数があります。1〜nの整数値(nはA1の長さ)の配列をそのパラメーターに適用すると、最後の数字が最後のスペース。
LOOKUP
次に、その配列で検出される可能性のある値よりも大きい値を検索してその番号を抽出します。その場合、最後の番号が見つかります
ではExcel 2010
以降、あなたはまた、使用することができAGGREGATE
、このように機能を
=AGGREGATE(14,6,FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))),1)
FIND
前と同じ配列を返し、最初の引数として14を使用AGGREGATE
し、最後に1を使用して、エラーを無視しながら配列の最大値を取得します[6]
"1:"&LEN(A1)
は「1:12」と評価されます。これは、ROWが処理できない文字列ですが、INDIRECTはROW が処理できる有効な参照に文字列を変換するため、ROW(1:12)は{1 ; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12}
barry larry houdini
、その後、この配列が返されますFIND {6;6;6;6;6;6;12;12;12;12;12;12;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
とLOOKUPを、および/またはAGGREGATE、すなわち12、それから、最後の/最大の数値を取る