プロが教える店舗&オフィスのセキュリティ対策術

エクセルで単価シートを作り以下のようなデータを作りました。
車両No(A列)、最小距離範囲(B列)、最大距離範囲(C列)、単価(D行)です。
1、1、10、100円
1、11、20、200円
1、21、30、300円
2,1、10、110円
2、11,20、220円

別シートで添付画像のようなレイアウトを作り、O1に車両ナンバーを入力して
距離を入力すると単価シートから同一の車両Noと距離は単価シートから最小距離範囲以上最大距離範囲以下で存在するならば単価セルに単価シートから単価を取得して自動入力したいです。エクセル関数でするならばどのような方法がありますでしょうか?よろしくおねがいします。

「単価シートから単価をエクセル関数で自動取」の質問画像

A 回答 (1件)

こんばんは



添付図が良く見えないので、以下を仮定
・A4セルに求めたい車両No
・C4セルに距離
が入力されているとして、単価を表示したいセルに
=IF(A4="","",INDEX(FILTER(単価シート!D:D,(単価シート!A:A=A4)*(単価シート!B:B<=C4)*(単価シート!C:C>=C4),""),1))
を入力すれば宜しいでしょう。

※ 上式はOffice365等スピル機能が使える環境を想定しています。
※ ご質問文通りの内容なので、例えば「No=1、距離=10.5」を入力すると、該当項目が存在しないので、結果は表示されません。
(ご質問のようなケースでは、元データの距離は単価の上限距離だけでも足りるかと思います。)
※ データ範囲が不明なので、参照範囲を列全体にしてありますが、必要範囲に限定しておいた方が良いでしょう。

・・と言うよりも、ご例示の内容であれば、距離によって単価が変わるわけではなさそうなので、「単価」を距離単価として一律に考えることができ、距離を10単位で切り上げれば、ややこしい表は必要なくなります。
(車両別の単価表がありさえすれば済むのではないかという意味です。
 そうすれば、参照式もLOOKUPだけで済むはずです)
    • good
    • 1
この回答へのお礼

思い通りの動きができました!
本当にありがとうございます!

お礼日時:2023/07/04 19:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!