- ベストアンサー
エクセル 「1000万円」の1000(数字)部分だけ取り出したい。
エクセルで、A列に 1000万円 10円 100百万円 とあり、A列の数字部分をB列に取り出したいです。 1000 10 100 という感じにできないでしょうか? さらに欲を言えば円単位にまとめたいです。 10,000,000 10 100,000,000 こんなことできますか? よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>A列の数字部分をB列に取り出したいです =LOOKUP(9^9,LEFT(A1,COLUMN(1:1))*1) >さらに欲を言えば円単位にまとめたいです。 =LOOKUP(9^9,LEFT(A1,COLUMN(1:1))*1)*IF(COUNTIF(A1,"*万*"),10^4,1)*IF(COUNTIF(A1,"*百*"),100,1) ◆いかがでしょうか?
その他の回答 (4)
- maron--5
- ベストアンサー率36% (321/877)
◆LEFT(A1,COLUMN(1:1))の部分は、下のように、A1を1文字、2文字、3文字と取り出しています {"1";"10";"100";"100百";"100百万";"100百万円";"100百万円";"100百万円";"100百万円";"100百万円"} ◆LEFT(A1,COLUMN(1:1))*1 そして、そてに*1することによって下にようになります {1;10;100;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!} ◆LOOKUP関数は、「検査値に一致する値がないと、検査値以下の最大値を検査結果として返します」よって、9^9以下の最大値「100」を返し、ちょうど数字のみ抽出したことになります ◆EXCEL2002以降でしたら、式の入力されているセルを指定して、メニューバーの[ツール]-[ワークシート分析]-[数式の検証]を選択し、「評価」をクリックしてください ◆式の意味が理解できるはずです
お礼
回答ありがとうございました。 [ツール]-[ワークシート分析]-[数式の検証]は知りませんでした。先ほど実際に検証してみて、ご回答の内容を確認しました。 このたびはありがとうございました。勉強になりました。
- redowl
- ベストアンサー率43% (2140/4926)
=TEXT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"円",""),"百","00"),"万","0000"),"#,##0") 書式設定で、 右揃い に
お礼
ご回答ありがとうございました。 No.1さんの「検索と置換」にヒントを得て、ちょっと考えてみました。 LEFT(A1,LEN(A1)-(LENB(A1)-LEN(A1))) で、数字部分だけはとりだせますね。 円単位にまとめる部分についてはご回答を参考にさせていただきます。 あとは単位の数が増えた場合に、どこまで入れ子で対応するかなど考えてみます。 ありがとうございました。
- precog
- ベストアンサー率22% (966/4314)
1000万円等はエクセルの標準にないと思います。 基本的には自分で文字列を解釈する式を作るか、数字をその表示にする式を作るかです。つまり、入力を1000万円と入れさせるのか、10000000と入れさせるのかどちらが良いのかということです(後の演算は10000000と入れるほうが楽でミスも検出しやすいです) 1000万円を10百万円と表示しない理由はなんでしょうか? 万円と百万円の使い分けには何か法則があるのでしょうか? (特定の箇所にはどっちなど)
お礼
ご回答ありがとうございます。 法則性がないということで、そう書きました。 自分で文字列を解釈する式を考えてみます。 ありがとうございました。
- plook
- ベストアンサー率23% (30/127)
「検索と置換」で変換する方法をオススメします。 金額が書いてあるセルを大事にしたい場合はコピーして まずは"円"を""に置換。 次に"万"を"0,000"に置換。 こんな感じでいかがでしょう?
お礼
早速のご回答ありがとうございます。 「検索と置換」だと、「円」は共通としても、「百万」、「万」とこの場合、3回、同様の作業が必要ですよね。 できれば、B列に関数などを入れて自動的に対処できたらなぁ、と思っています。 どうもありがとうございました。
お礼
ありがとうございます。返事がおそくなりすみませんでした。 LOOKUP関数を今まで使ったことなくて、よくわからかったので…。 まず、教えていただいた関数でばっちり数字を取り出すことができました。 関数の内容についてですが、9^9は理解できたのですが、COLUMN(1:1)*1の部分がよくわかりませんでした。 解説してもらえたらうれしいのですが…。