No.1
- 回答日時:
セルA1 に、aaa.bbb.ccc が入力されていると仮定するならば、
=RIGHT(A1,LEN(A1)-FIND(".",A1))
ご回答いただきありがとうございます。
早速試してみましたが、不完全ではありますができました。
質問する時に書き忘れていたのですが、bbb.ccc という形もあります。
つまり、ドットが一つの場合です。
この場合は、そのまますべてを取り出します。
つまり、bbb.ccc を取り出します。
アドバイスの方法だと、ccc だけが取り出されてしまいました。
No.2
- 回答日時:
>右から2つ目のドットの前までを取り出す方法になります。
=RIGHT(A1,LEN(A1)-FIND("☆",SUBSTITUTE(A1,".","☆",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))-1)))
説明通りに数式を作ってみました。ただし、「☆」が文字列にないこと
ご回答いただきありがとうございます。
質問する時に書き忘れていたのですが、bbb.ccc という形もあります。
つまり、ドットが一つの場合です。
この場合は、そのまますべてを取り出します。
つまり、bbb.ccc を取り出します。
アドバイスの方法だと、この場合に「#VALUE」と表示されてしまいました。
No.3
- 回答日時:
文字列中に含まれている「.」の個数が決まっておらず、右から2個目の「.」よりも、右側にある文字列を取り出せば宜しいのですか?
それでしたら、今仮に元の文字列のデータがA1セルに存在しているものとしますと、取り出した文字列を表示させるセルに、次の数式を入力して下さい。
=IF(ISERROR(SQRT(LEN(A1)-LEN(SUBSTITUTE(A1,".",))-2)),"",MID(A1,FIND("゛゜",SUBSTITUTE(A1,".","゛゜",LEN(A1)-LEN(SUBSTITUTE(A1,".",))-1))+1,LEN(A1)))
尚、元の文字列に必ず「.」が2個以上含まれている場合には、入力する数式を次の様にするだけでも充分です。
=MID(A1,FIND("゛゜",SUBSTITUTE(A1,".","゛゜",LEN(A1)-LEN(SUBSTITUTE(A1,".",))-1))+1,LEN(A1))
因みに、上記の数式中の
"゛゜"
の部分は、今回は濁点と半濁点としましたが、元の文字列中に存在し得ない2文字の組合せであれば、何でも構いません。
ご回答いただきありがとうございます。
質問する時に書き忘れていたのですが、bbb.ccc という形もあります。
つまり、ドットが一つの場合です。
この場合は、そのまますべてを取り出します。
つまり、bbb.ccc を取り出します。
アドバイスの方法だと、該当するセルが空白になってしまいました。
No.4ベストアンサー
- 回答日時:
ドットが最小で1個、最大で3個までの文字でしたら次の式で求めることができます。
=IF((LEN(A1)-LEN(SUBSTITUTE(A1,".","")))=1,A1,IF((LEN(A1)-LEN(SUBSTITUTE(A1,".","")))=2,RIGHT(A1,LEN(A1)-FIND(".",A1)),IF((LEN(A1)-LEN(SUBSTITUTE(A1,".","")))=3,RIGHT(RIGHT(A1,LEN(A1)-FIND(".",A1)),LEN(RIGHT(A1,LEN(A1)-FIND(".",A1)))-FIND(".",RIGHT(A1,LEN(A1)-FIND(".",A1)))),"")))
ご回答いただきありがとうございます。
とりあえずうまくできました。
質問する時に書き忘れていたのですが、ドットの数は3個以上の場合もあります(まれですが)。
また、bbb.ccc という形もあります。
つまり、ドットが一つの場合です。
この場合は、そのまますべてを取り出します。
つまり、bbb.ccc を取り出します。
アドバイスの方法でこれも問題なくうまく表示されました。
あとは、ドットの数が3個以上の場合なのですが、この場合はどのようにすればいいのか教えていただけませんか?
No.5
- 回答日時:
FIND関数でやると式が長くなるのは目に見えているのでユ-ザー定義関数での例を示す。
標準モジュールにユーザー定義関数を作る。
ーー
(1)Split関数を使う方法
Function saigo2(a)
x = Split(a, ".")
s = ""
For i = UBound(x) - 1 To UBound(x)
s = s & x(i) & "."
Next i
saigo2 = Left(s, Len(s) - 1)
End Function
セルに=saigo2(A1)などと入れて下方向に式を複写。
文字列が1つしかない(.が無い)場合はチェックをしてませんが。
ーーーー
(2)InstrRev関数を使う方法
Function saigo2B(a)
x = InStrRev(a, ".", Len(a))
MsgBox x
x = InStrRev(a, ".", x - 1)
MsgBox x
saigo2B = Right(a, Len(a) - x)
End Function
セルに=saigo2B(A1)などと入れて下方向に式を複写。
ーー
例データと結果A列例データ 右2つは両方の関数の結果
aa.aa.sss.dd.fffdd.fffdd.fff
ss.dd.f.ggh.j.kj.kj.k
ss.dfgss.dfgss.dfg
a.s.d.f.ggggh.hggggh.hggggh.h
No.6
- 回答日時:
#2です。
質問に落ち度のある分は多少目を瞑りますが、はっきり言って、数式を理解しようとしない質問者に
回答するのは不満です。それでも、理解してくれるれることを願っての回答。
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,".",""))<=2,A1,
RIGHT(A1,LEN(A1)-FIND("☆",SUBSTITUTE(A1,".","☆",
LEN(A1)-LEN(SUBSTITUTE(A1,".",""))-1))))
IF関数で条件分岐すればよいだけの話です。
回答でわからない部分を再質問するのは大歓迎です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
歩いた自慢大会
「めちゃくちゃ歩いたエピソード」を教えてください。 長時間でも長距離でも結構です。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
目上の方に、メールの語尾「以上、よろしくお願い致します」は使用しても問
日本語
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
文字列からタブコードを取り除...
-
EXCELで=より左の文字を一括で...
-
エクセルで文字列をtxtファイル...
-
Left関数とRight関数を合わせた...
-
VBAでの Replace関数で、ワイル...
-
VBA2005 16進を2桁で表示したい。
-
Excelで3E8を3.00E+8にしない方...
-
【Excel VBA】複数ある特定の文...
-
SQL の Update文(?) と ...
-
MS SQLServer のSQLで文字列の...
-
CSV書込みの際、カンマで位置が...
-
C言語の勉強しています。すみま...
-
ACCESSのSQLでのカンマ’認識に...
-
Msgboxの×が押されたとき
-
同一セル内に関数と文字列を同...
-
Excelで指数表現しないようにす...
-
16進数を10進数に簡単に変換す...
-
NULLの定義について
-
エクセルで文字列の最大値を抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
【Excel VBA】複数ある特定の文...
-
Left関数とRight関数を合わせた...
-
同一セル内に関数と文字列を同...
-
アクセスで特定の数字以外(複...
-
MS SQLServer のSQLで文字列の...
-
エクセルで文字列の最大値を抽...
-
VBA2005 16進を2桁で表示したい。
-
ORCLEでの小数の表示方法の変更...
-
エクセル 数値データを桁をそ...
-
VBの「As String * 128」とは?
-
CStringの文字列検索&抜き出し...
-
エクセルでセル内の文字列の最...
-
Msgboxの×が押されたとき
おすすめ情報