お世話になります。 下記のようなEXCEL表において、 D列の通貨とE列の値によって、数式を変更したいのですが、EXCELの数式で可能でしょうか。 IF分を利用すると、かなり長文になるため、他に良い代替機能がないか確認したいです。 D列:USDの場合、小数点以下2桁(第3桁を計算) JPYの場合、小数点以下はなし(小数点以下1桁目で計算) E列:四捨五入区分(1:ROUNDUP、2:ROUNDDOWN、3:ROUND) 例)USD、1:ROUNDUPの場合、 E列:=ROUNDUP(数量×単価、2) JPY、2:ROUNDDOWNの場合、E列:=ROUNDOWN(数量×単価,0) A列 B列 C列 D列 E列 F列 1. 品番 数量 単価 通貨 四捨五入区分 合計金額(数量×単価) 2. A 100 123 USD 1 = *** よろしくお願いいたします。
switch もしくは、IFS を利用すると少しは短い?見やすくなるかもです。 http://officetanaka.net/excel/function/function/ifs.htm
こんな感じ。 F2 =CHOOSE(E2,ROUNDUP(B2*C2,IF(D2="JPY",0,2)),ROUNDDOWN(B2*C2,IF(D2="JPY",0,2)),ROUND(B2*C2,IF(D2="JPY",0,2))) ※これは桁数が大きくなると誤差が出ます。 =ROUND(B2*C2+(0.5-10^-9)*(MOD(E2-2,3)-1)/10^IF(D2="JPY",0,2),IF(D2="JPY",0,2))
taitani様 ご返信頂きありがとうございます。 SWITH関数の用途を知りませんでした。勉強になりました。 んなっと様 いつもお世話になっております。 前回もご回答頂き、大変助かりました。 今回もご教示頂いた数式で解決できました! 本当にいつもありがとうございます。
利用者の皆様にお知らせです。
マイクロソフト オフィス スペシャリスト(MOS)
ビジネス統計スペシャリスト
IC3(アイシースリー)
VBAエキスパート
アドビ認定プロフェッショナル
Microsoft認定資格
App Development with Swift