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


1

あなたが私が抱えている入れ子になったIF関数の問題で私を助けることができるだろうかと思います。ここに質問があります:(長い質問です!)

  • 貨物タイプがVictor Von Doom Freightの場合、貨物コストは、アイテム重量1キログラムあたり4.50ドル、注文されたアイテムごとに1,000 kmを超える場合は1キロメートル(距離)あたり1/4セント(0.0025ドル)で計算されます(注文数量)。

  • 貨物タイプがOtto Octavis Transportの場合、最初の1.5キロの貨物コストは10ドルで、注文された品目ごとに1.5kgを超えるキログラムあたり2.50ドルです(注文数量)。

**小数点以下2桁までのROUNDINGも含める必要があります

だから基本的に私は次のような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つ追加するだけで機能します。


excelを使用して約4年間過ごした後、数週間前に数式に改行とスペースを入力できることに気付きました。
PeterH

私はこれを機能させましたが、別のテーブルに恐ろしい費用のすべてのデータを入れて、それらのセルを照会することで混乱が少なくなりました。また、配送料が変更された場合でも編集が簡単になります。
O.Allen

@ User91504個人的には、おそらくExcel内では使用しませんが、デバッグしようとしている場合は、角かっこが正しい場合はいつでも把握できると便利です。
セス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.