ネストされた IF 関数の問題について、ご助言いただけないでしょうか。質問は次のとおりです (長い質問で申し訳ありません)。
貨物タイプが Victor Von Doom Freight の場合、貨物コストは、品目の重量 1 キログラムあたり 4.50 ドル、注文品目 (注文数量) あたり 1,000 km を超える場合は 1 キロメートル (距離) あたり 0.25 セント (0.0025 ドル) で計算されます。
貨物タイプが Otto Octavis Transport の場合、貨物料金は注文品目 (注文数量) ごとに、最初の 1.5 キログラムまでは 10 ドル、1.5 キログラムを超える分は 1 キログラムあたり 2.50 ドルとなります。
**小数点2位まで四捨五入する必要があります
つまり、基本的に IF ステートメントは次のようになります。
IF(FreightType="Victor Von Doom Freight", ROUND((4.5*ItemWeight+IF(Distance>1000,0.0025*Distance,"0"))*OrderQty,2), IF(FreightType="Otto Octavius Transport", ROUND((10+IF(ItemWeight>1.5, (ItemWeight-1.5)*2.5,"0"))*OrderQty,2),"0")
答え1
コードは現在不完全です。再フォーマットすると、次のように記述することもできます。
IF
(
FreightType="Victor Von Doom Freight"
,ROUND
(
(
4.5*ItemWeight +
IF
(
Distance>1000
,0.0025*Distance
,"0"
)
)
*OrderQty
,2
)
,IF
(
FreightType="Otto Octavius Transport"
,ROUND
(
(
10+
IF
(
ItemWeight>1.5
,(ItemWeight-1.5)*2.5
,"0"
)
)
*OrderQty
,2
)
,"0"
)
これは、閉じ括弧が欠落していることを示しています。末尾に閉じ括弧を 1 つ追加するだけで機能するはずです。