Excel 2016: ネストされた IF 関数「この関数の引数が多すぎます」

Excel 2016: ネストされた IF 関数「この関数の引数が多すぎます」

ネストされた 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 つ追加するだけで機能するはずです。

関連情報