[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『関数FINDで全角半角を問わない方法』(noro)
次のような関数を使用しています。
B列の「(」をFINDするものですが、この場合半角を指定しているため、全角の「かっこ」だとエラーになってしまいます。全角半角どちらでもエラーにならないようにしたいのですが
記述方法を教えてください。
=IF(ISERR(LEFT(B2,LEN(B2)-(LEN(B2)-(FIND("(",B2,1)-1)))),B2,LEFT(B2,LEN(B2)-(LEN(B2)-(FIND("(",B2,1)-1))))
< 使用 Excel:Excel2013、使用 OS:Windows7 >
=IFERROR(LEFT(B2,LEN(B2)-(LEN(B2)-(FIND("(",ASC(B2),1)-1))),B2)
(さとう) 2014/08/21(木) 09:42
半角カタカナ使ってると全部ASCかJISで対応しないとダメっすね。 あと、なんかややこしいことしてるね。
=LEFT(B2,MIN(FIND({"(","("},B2&"(("))-1) (GobGob) 2014/08/21(木) 10:47
GobGobさんありがとうございました。
ややこしい…そうなんです。個別に作りながら当てはめていったら自分でもわかりにくくなってしまいました。詳しい人に別の記述方法を教えていただく機会を探していたので助かりました。
書いていただいたものに置き換えます。感謝します。
(noro) 2014/08/26(火) 11:03
解決したようですが
(さとう)さんの回答と(GobGob)さんの回答を利用して
=LEFT(B2,FIND("(",ASC(B2)&"(")-1) (By) 2014/08/26(火) 14:07
(noro) 2014/08/27(水) 08:59
元データ 結果 ドア(2m) ドア ←データ半角、カッコも半角 ドア(2m) ドア( ←データ全角、カッコは半角 ドア(2m) ドア ←データ半角、カッコは全角 ドア(2m) ドア( ←データ全角、カッコも全角
元データのカッコ前をそのまま返すの観点で考えて 元データに半角カタカナあると、ASCとか不具合有りそうだったんで あえて使わなかったんだけど・・・
まぁ、不具合ないようならOKっすね。 (GobGob) 2014/08/27(水) 11:17
(GobGob)さんご指摘のように問題がありそうですね
別解として =LEFT(B2,FIND("(",SUBSTITUTE(B2,"(","(")&"(")-1) (By) 2014/08/27(水) 12:44
>正直いってMINの使い方が私にはよくわかっていないため
FIND("(",B2&"(") と FIND("(",B2&"(") の結果を比較して小さいほうを返してるんですな。
たとえば B2に 「AA(あ)」 ってデータがあるとすると。
FIND("(",B2&"(") → FIND("(","AA(あ)(") → 半角カッコが途中にある。 → 3 FIND("(",B2&"(") → FIND("(","AA(あ)(") → 全角カッコが最後にある。 → 6
これを比較して 小さいほうを返してま。
本来なら =MIN(FIND("(",B2&"(") , FIND("(",B2&"("))
って書き方なんやけど、カッコのところを配列定数にしたほうがスッキリするんで 解答のようにしてますわ。 (GobGob) 2014/08/27(水) 16:24
※かっこの中だけ取り出す(これは全角だけになっています)
=SUBSTITUTE(REPLACE(B12,1,FIND("(",B12),),")",)
=MID(B7,FIND("(",B7,1)+1,FIND(")",B7,1)-FIND("(",B7,1)-1)
(noro) 2014/08/27(水) 21:43
excel使えない環境なので深く考えずに ネストしてみた(笑)
=substitute(substitute(replace(b2,1,min(find({"(","("},b2&"((")),""),")",""),")","")
(GobGob) 2014/08/27(水) 22:47
A A(B B B)A A みたいなのも考慮。
=REPLACE(LEFT(A1,MIN(FIND({")",")"},A1&"))")-1)),1,MIN(FIND({"(","("},A1&"((")),"") (GobGob) 2014/08/28(木) 08:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.