- ベストアンサー
Excelの関数?で困っています。
Excelの関数?で困っています。 こんにちは。Excel2007を使用しています。 セルの中にある特定の文字が含まれている場合は、ある文字の後ろの数値を抽出するということはできますか? 例えば、セルA1に『AA-11 $100.00』、A2に『BB $ 95.00』と入力されている場合、『AAという文字が含まれている場合はB1に$マークの後ろの数値を抽出、BBという文字が含まれている場合はC1に$マークの後ろの数値を抽出する』というものを関数などを使用して作ることはできるのでしょうか? もしできるのであれば、ぜひご教示ください。 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
B1セルに =IF(COUNTIF(A1,"*AA*")=1,RIGHT(A1,LEN(A1)-FIND("$",A1)),"") C1セルに =IF(COUNTIF(A1,"*BB*")=1,RIGHT(A1,LEN(A1)-FIND("$",A1)),"") 下へコピィしてみてください。
その他の回答 (3)
A B C 1 AA BB 2 AA-11 $100.00 100.00 3 BB $ 95.00 95.00 B2: =IF(LEFT($A2,2)=B$1,MID($A2,FIND("$",$A2)+1,99)+0,"")
お礼
回答ありがとうございます。 とても参考になりました。
- keithin
- ベストアンサー率66% (5278/7941)
>文字を抽出 そういう事が出来る関数は沢山ありますので,状況に応じて(というよりはしばしば趣味に応じて)色々使い分けて利用します。 例: =IF(ISNUMBER(FIND("AA",A1)),0+REPLACE(A1,1,FIND("$",A1)+1,""),"") 例:「を含む」ではなく「で始まる」ならもっと簡単です。抜き取る手も変えてみます。 =IF(LEFT(A1,2)="BB",- -MID(A1,FIND("$",A1)+1,99),"")
お礼
回答ありがとうございます。 いろいろな方法があるんですね。勉強になりました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 ↓の画像のように1行目に検索したい文字を入力しておきます。 そして、B2セルに =IF(ISNUMBER(FIND(B$1,$A2)),MID($A2,FIND("$",$A2)+1,LEN($A2)-FIND("$",$A2)),"") という数式を入れ、オートフィルで列方向と行方向にコピーすると 画像のような感じになります。 結局No.1さんと考え方は同じですが No.1さんの数式の方が短くてスマートですね! 以上、参考になれば幸いです。m(__)m
お礼
回答ありがとうございます。 わかりやすく画像まで添付していただき、ありがとうございました。 1行目に検索したい文字を入力してから行うという方法もあるんですね。
お礼
回答ありがとうございます。 さっそく試してできました!!ただ、数値が左寄せになってしまうのはなぜなんでしょうか。。。