モバイル版を表示しています。PC版はこちら
文字列から数字を抜き取る関数・どのようなエクセル関数を入れればいいですか?
B3セル 2,600円
B4セル 決済金額:2,765円
となっています。しかし、B4セルは中身が入っていない空白セルの時もあります。(B3セルは常になんらかの円となっています)
C3セルに、B4セルが中身が入っていないときには、B3セル内の内容の2600という数字を表示させ、
もし、B4セルに今回のように決済金額が入っているときには2765を表示させたいときには、どのように関数を組めばよいでしょうか?
数字は、常にかわります。1円のときもありますし、999,999円のときもあります。千区切りのマークも入ります。
ユーザー関数でない方を希望します。
よろしくお願いいたします。
●質問者:
リセール京都買取
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 4/4件
▽最新の回答へ
▽1
●
garigari
●79ポイント
まず、B3B4の書式設定をしましょう。
?B3(右クリック) → セルの書式設定 → (左のリストから)ユーザー設定 → (種類:の下の欄に入力)#,##0"円"; → OKクリック
?B4(右クリック)→ 同上 → 同上 → (種類:の下の欄に入力)"決済金額:"#,##0"円"; → OKクリック
これで、B3B4セルは数字を入力するだけで「1,000円」なり「決算金額:2,000円」なり表示されるようになります(日本語部分はつど入力しなくて済みます、というより、日本語部分は入力しないでください)
?C3には=IF(B4>0,B4,B3)を入力(B4のマイナス値はゼロとみなします)
これでご希望の状態になると思います。
リセール京都買取さんのコメント
ありがとうございます。ただ、B3、B4は入力をこれからするのではなく、そこから読み取ってC3セルをもとにいろいろ操作するのです。ですのでC3に一発で関数でお願いしたいのですがこれは可能でしょうか?
garigariさんのコメント
B3B4が確実に質問通り入力される前提(B3***,***円、B4決済金額:***,***円)で、
=IFERROR(IF(VALUE(MID(B4,6,LEN(B4)-6))>0,VALUE(MID(B4,6,LEN(B4)-6)),),VALUE(LEFT(B3,LEN(B3)-1)))
を試して見てください。
ただしこれは、正確に上記通り入力されるのが前提です。
B3は”円”を省いた残りを、B4は”決算金額:”と”円”を除いた残りを数値化します(数字の桁数は自由です)。
例えばB4が”決算額:123,456,789円”の場合(決算額:の文字数4字で1字足りない)、23,456,789となってしまうでしょう。
・・・どうですか?^^;
リセール京都買取さんのコメント
ありがとうございます!完璧でした。感謝いたします!!
リセール京都買取さんのコメント
あ、すみません。決済金額が入っているときはそちらの金額を表示させたいので、ちと違ったかもしれません。
▽2
●
きむむ
●100ポイント
ベストアンサー |
基本的に前の方と同じですが、
”B4セルは中身が入っていない空白セルの時も?”
とのことなので、
=IF(B4="",VALUE(LEFT(B3,LEN(B3)-1)),VALUE(MID(B4,6,LEN(B4)-6)))
の感じです。
試してみてください。
リセール京都買取さんのコメント
短いのもいいですね!感謝です。
▽3
●
nepia11
●80ポイント
=VALUE(IF(B4="",SUBSTITUTE(B3,"円",""),SUBSTITUTE(SUBSTITUTE(B4,"円",""),"決済金額:","")))
これで行けます。
SUBSTITUTEは置き換える関数。
SUBSTITUTE(B3,"円","")は"円"を空白に置き換える、という意味です。
リセール京都買取さんのコメント
なるほど。その手がありましたか!
▽4
●
rsc
●50ポイント
こんな感じでなるみたいですが、何か呪文みたいでわかりにくいので、VBAでユーザー定義関数を作った方が良くないですか。
作るといってもコピペするだけなので。(^_^;
=SUBSTITUTE(MID(B3,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B3&"0123456789")),LEN(B3)),"円","")+0
※参考URL
https://ymyk.wordpress.com/2010/02/09/excel%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%81%A7%E6%95%B0%E5%AD%97%E3%81%AE%E3%81%BF%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B/
https://kokodane.com/2013_macro_65.htm
リセール京都買取さんのコメント
ありがとうございます!VBAは他に使いすぎてましてここでは使いたくないのです。回答感謝いたします!
●質問をもっと探す●
0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
□対応機種一覧
□お問い合わせ
□ヘルプ/お知らせ
□ログイン
□無料ユーザー登録
□はてなトップ