Excel 2007を使用すると、セルに3つの結果があり、その情報は他の2つのセルに入力される内容にも依存します。

Excel 2007を使用すると、セルに3つの結果があり、その情報は他の2つのセルに入力される内容にも依存します。

ここに画像の説明を入力してください

拡大: ここに画像の説明を入力してください

4 人の特別な顧客に対しては、特定の価格を設定しています。請求書の検証を容易にするために、人為的エラーを防止しようとしています。特定の会社が列 1 に配置されている場合は、セル 5 に正しい価格を反映する必要があります。価格は、リクエストの日数 (=>3、=2、=<1) によって異なります。つまり、3 つの価格、4 つの会社、そして頭痛の種です...

例1 これ以上引数を追加できませんでした:

=IF(X30="skanska","110",IF(X30="conway","95",IF(X30="cappagh","90",IF(X30="","80","100"))))

例2 再び引数が多すぎます:

=IF(AC18>=3,IF(X18="skanska","110","70 "),IF(X18="conway","90"," 60"))

ちょっと迷ってます…

今、私はそれを見て、声明vlookupと組み合わせようとしています。if

例3: 2つを組み合わせる際に問題が発生します:

=VLOOKUP(A31,vtable_area,4,0)

答え1

ここでの VLOOKUP は正しい方法です。次の方法をお勧めします。特別な顧客用の列と、各可能な日数 (おそらく 1 から始まる) 用の列を含むテーブル (別のシートに) を作成し、適切な価格を設定します。

その場合、VLOOKUP 数式は次のようになります。

=VLOOKUP(Customer,VTable,Days+1,FALSE)

ここで、「顧客」は、顧客名が入ったデータの列です (A または任意の場所)。したがって、一致する顧客名を含む行が検索され、日数に一致する列から値が返されます。+1 は、顧客名が入っている最初の列を避けるためのオフセットです。つまり、1 日の値は 2 番目の列にあり、2 日の値は 3 番目の列にあります。したがって、次のようになります。

=VLOOKUP(X31,Lookup_table_area,AC31+1,FALSE)

理想的には、これをエラーキャッチ条件でラップして、「標準」顧客の値を返します。例:

=IFERROR(VLOOKUP(X31,Lookup_table_area,AC31+1,FALSE),999)

関連情報