- ベストアンサー
右から何文字目にあるか文字位置を取得するには?
関数で検索文字が右から何文字目にあるか文字位置を取得するには? FIND関数は左から検索文字が何文字目にあるかを取得しますよね。 右から取得するための関数は用意されてますか? vbaで言うと、StrReverse関数みたいなのはワークシート関数にはないのですか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VBAが使えるのなら、ワークシート関数を自分で作ってしまうのが確実です。 ' 対象が検索文字列の右から何文字目にあるか(大文字/小文字を区別する) FUNCTION FIND_LEFT(検索文字列 As String, 対象 As String) As Long Dim tmp As String tmp = StrReverse(検索文字列) FIND_LEFT = InStr(tmp, 対象) END FUNCTION ' 対象が検索文字列の右から何文字目にあるか(大文字/小文字を区別しない) FUNCTION SEARCH_LEFT(検索文字列 As String, 対象 As String) As Long Dim tmp As String tmp = StrReverse(検索文字列) SEARCH_LEFT = InStr(LCase(tmp), LCase(対象)) END FUNCTION
その他の回答 (3)
- web2525
- ベストアンサー率42% (1219/2850)
直接の関数はありません 右から数える必要性というと、検索する文字が対象の文字列に複数あって、その最後の文字位置を右から数えて何文字目かを調べたいという意味だと思うので、FIND関数とLEN関数の組み合わせでは求められない故の質問だと推測しました 一例ですが {=LEN(対象文字列)-MAX((MID(対象文字列,COLUMN(1:1),1)=検索文字)*COLUMN(1:1))+1} (配列計算なのでShift+Ctrl+Enterで) 検索文字が対象の文字れるに複数あった場合、最後の文字の右から数えた位置を表示します
お礼
ありがとうございました。
- dezimac
- ベストアンサー率56% (2365/4208)
専用の関数はないけど、LENとFIND関数を組み合わせれば出来ます。 =LEN(対象文字列)-FIND(検索文字,対象文字列,1)+1 ↓文字列関係の関数 http://www.excel-list.com/text_functions.html
お礼
ありがとうございました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
右から数える関数はありませんね。 LENとFIND関数を組み合わせて使うことになりますね。
お礼
ありがとうございました。
お礼
ありがとうございました。