B3セル 2,600円
B4セル 決済金額:2,765円
となっています。しかし、B4セルは中身が入っていない空白セルの時もあります。(B3セルは常になんらかの円となっています)
C3セルに、B4セルが中身が入っていないときには、B3セル内の内容の2600という数字を表示させ、
もし、B4セルに今回のように決済金額が入っているときには2765を表示させたいときには、どのように関数を組めばよいでしょうか?
数字は、常にかわります。1円のときもありますし、999,999円のときもあります。千区切りのマークも入ります。
ユーザー関数でない方を希望します。
よろしくお願いいたします。
基本的に前の方と同じですが、
”B4セルは中身が入っていない空白セルの時も~”
とのことなので、
=IF(B4="",VALUE(LEFT(B3,LEN(B3)-1)),VALUE(MID(B4,6,LEN(B4)-6)))
の感じです。
試してみてください。
まず、B3B4の書式設定をしましょう。
①B3(右クリック) → セルの書式設定 → (左のリストから)ユーザー設定 → (種類:の下の欄に入力)#,##0"円"; → OKクリック
②B4(右クリック)→ 同上 → 同上 → (種類:の下の欄に入力)"決済金額:"#,##0"円"; → OKクリック
これで、B3B4セルは数字を入力するだけで「1,000円」なり「決算金額:2,000円」なり表示されるようになります(日本語部分はつど入力しなくて済みます、というより、日本語部分は入力しないでください)
③C3には=IF(B4>0,B4,B3)を入力(B4のマイナス値はゼロとみなします)
これでご希望の状態になると思います。
ありがとうございます!完璧でした。感謝いたします!!
あ、すみません。決済金額が入っているときはそちらの金額を表示させたいので、ちと違ったかもしれません。
基本的に前の方と同じですが、
”B4セルは中身が入っていない空白セルの時も~”
とのことなので、
=IF(B4="",VALUE(LEFT(B3,LEN(B3)-1)),VALUE(MID(B4,6,LEN(B4)-6)))
の感じです。
試してみてください。
短いのもいいですね!感謝です。
=VALUE(IF(B4="",SUBSTITUTE(B3,"円",""),SUBSTITUTE(SUBSTITUTE(B4,"円",""),"決済金額:","")))
これで行けます。
SUBSTITUTEは置き換える関数。
SUBSTITUTE(B3,"円","")は"円"を空白に置き換える、という意味です。
なるほど。その手がありましたか!
こんな感じでなるみたいですが、何か呪文みたいでわかりにくいので、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は他に使いすぎてましてここでは使いたくないのです。回答感謝いたします!
短いのもいいですね!感謝です。
2017/03/18 08:21:45