こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで流量から配管口径を算出したい

セルA1には流量を手入力します。
セルA2~L2には配管の口径が入力されています。
セルA3~L3には配管の流量が入力されています。
セルA1に入力した直近上位の流量の口径をセルA2に表示したいのです。
口径及び流量はそのつど変わります。

たとえば
セルA2~L2に
10 15 20 25 30 35 40 45 50 55 60 70 という数値がそれぞれ入力されて、
セルA3~L3に
100 130 160 190 250 300 400 500 600 700 800 900という数値がそれぞれ入力されているとします。
このとき、セルA1に150と入力したとき直近上位はセルC3の160なのでセルA2にはセルC2の20を、セルA1に700を入力したとき直近上位はセルJ3の700なのでセルJ2の55を表示したいのです。

エクセルのバージョンは2003なのでIFでの入れ子ではできませんでした。
よろしくおねがいします。

投稿日時 - 2012-01-28 22:06:17

QNo.7272162

すぐに回答ほしいです

質問者が選んだベストアンサー

A2がダブってるので,配置を変えましょう。

まずC2からN2に口径10~70を記入。
次にC3からN3に流量100~900を記入。

上下を合わせて
A3に希望の流量150を記入するとすると
A2には
=INDEX(C2:N2,COUNTIF(C3:N3,"<"&A3)+1)
などのように求めることができます。


#実際には流量900を超えると最大口径を超えてしまうので
=IF(OR(A3="",A3>900),"",前述の式)
などのようにします。

投稿日時 - 2012-01-28 22:37:16

お礼

回答ありがとうございます。
値を表示したいのはセルB1の間違いでした。

期待したとおりの結果が表示されました。
助かりました。

投稿日時 - 2012-01-28 22:58:04

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

HLOOKUP関数で如何でしょうか。
(1)2行目と3行目を入れ替え、
(2)2行目のデータは
   0・101・131・161・191・251・301・401・501・601・701・801に
   変更して下さい。
(3)抽出は、=IF(A1<>"",HLOOKUP(A1,A2:L3,2,TRUE),"")
   関数の詳細はHELPを参照下さい。

因みに行方向の場合は、VLOOKUP関数になります。

投稿日時 - 2012-01-28 22:34:10

あなたにオススメの質問