- ベストアンサー
VLOOKUPでできますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
D2には =IF(SUM(C2),INDEX(C7:C18,COUNTIF(A7:A18,"<"&C2)+1),"") などのように記入しておきます。
その他の回答 (3)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
#2のフォロー、または言い訳! 料金テーブルが規則正しければ、できる程度で一般的ではなかった。 一応、今明示されている範囲であれば、VLOOKUPでもできる。(普通はその先もあるんでしょう...) =IF(AND(C2<=MAX(A$7:A$18),SUM(C2)),VLOOKUP(IF(C2>8,C2+3,C2),A$7:C$18,3),"計算でけまへん!") 検索値はこれで、(切り上げ整数) =ROUNDUP(A2/28.35,0)
- hallo-2007
- ベストアンサー率41% (888/2115)
>=VLOOKUP(C2,A7:C28,3)としているのですが、これだと、表示したいひとつ下を 表示してしまいます。 そうなんですよね。それが仕様です。価格の対応表を工夫します。 私も使いにくいなと思ったことがあります。 ただよく考えて見れば、価格対応表を 重量範囲 A列 B列 0.1 1 1.1 2 2.1 3 ・・・・ といったように範囲で表を準備しておけとMSは考えているのかなと、勝手に解釈しました。 A列の前に一列挿入して C8セルに =B7+0.01 とか一列ずれたセルを参照する式を入れては如何でしょうか。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
既に難しいテクニックで解決してるようですが、あなたの式をちょっとイジルだけでイケマス! 一番の問題は「oz換算」の方です。これは考え方として、料金テーブルに合わせて「整数に切り上げ」にしないとダメ!(多分「ノーマライズ」という筈?) C2は、 =ROUNDUP(A2/28.35,0) あと、D2のVLOOKUPの検索の型は「FALSE」「TRUE」どちらでもOK!! =IF(SUM(C2),VLOOKUP(C2,A7:C999,3),"") 検索の型: 「FALSE」では一致したものを検索する。見つからないときは「#N/A」となる。 「TRUE」は一致したものがなければ、手前を検索する。
お礼
ご回答ありがとうございました。 こんな風に考えればできたのですね!!
お礼
ありがとうございました。 このようにするとは全然考えられなかったです。 技ですねっ! 助かりました。