EXCELの条件式の質問です。


ある一つのリストがあり、
リスト1
4    5
5    9
8    23
10   34
30   43

他にデータがあるとします。
データ1






データの数字がリスト1の4以下であれば5を返す、5以下ならば
9を返す(対応した右のデータです)といった条件式をif文だけでつくるとすごく長くなってしまいました。
他に簡単な方法はありますでしょうか。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/11/07 14:02:48
  • 終了:2012/11/10 17:41:26

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4489ベストアンサー獲得回数18572012/11/07 14:40:48

ポイント50pt

VLOOKUP 関数を使うと、こんな感じになります。
f:id:a-kuma3:20121107143726p:image

関数を素直に使いたかったので、リスト1の方に細工をしています。
比較する数字を1大きくしたのと、返す値を一行ずらしてます。
31以上のときの100は、追加しました。



【追記】
補足を見ましたが、考え方は同じです。
f:id:a-kuma3:20121107145928p:image

補足にあった数字を使うのと、リスト1の細工を式でやるようにしてます。
「リスト1’」は、以下のように作ってます。

  • D列は、A列の行をひとつずらして、1足したもの
  • E列は、B列と同じ
他5件のコメントを見る
id:a-kuma3

迂闊系回答者なものですから、ドキドキしてました (^^;

2012/11/07 16:26:22
id:shiotaQ

迂闊系質問者を卒業するようがんばります^^

2012/11/07 16:35:46

その他の回答(1件)

id:Silvanus No.1

Silvanus回答回数174ベストアンサー獲得回数672012/11/07 14:26:19

ポイント50pt


画像の黄色のセルを補って下さい。
A2には0を、B2にはB3と同じ値を入れて下さい。
緑色のセルE2に、数式バーに表示されている式
"=VLOOKUP(D2,$A$2:$B$7,2,TRUE)"を入力し
E3:E6へペイストして下さい。
-----ここまでの回答は間違い!-----
【改訂版】
無い頭絞って考えました!

E2の式"=SUMPRODUCT(($A$2:$A$14<D2)*($A$3:$A$15>=D2)*$B$3:$B$15)"
リストは、上に"0"を一つ付け加えるだけでOKです。
もしまた間違ってたらゴメンナサイ…orz。

他2件のコメントを見る
id:shiotaQ

すごいです。出来ていました。いろいろな方法があるので面白いですね。
ありがとうございます。

2012/11/07 19:31:57
id:Silvanus

よかったです!…ほっとしましたw。

2012/11/07 20:46:43
id:a-kuma3 No.2

a-kuma3回答回数4489ベストアンサー獲得回数18572012/11/07 14:40:48ここでベストアンサー

ポイント50pt

VLOOKUP 関数を使うと、こんな感じになります。
f:id:a-kuma3:20121107143726p:image

関数を素直に使いたかったので、リスト1の方に細工をしています。
比較する数字を1大きくしたのと、返す値を一行ずらしてます。
31以上のときの100は、追加しました。



【追記】
補足を見ましたが、考え方は同じです。
f:id:a-kuma3:20121107145928p:image

補足にあった数字を使うのと、リスト1の細工を式でやるようにしてます。
「リスト1’」は、以下のように作ってます。

  • D列は、A列の行をひとつずらして、1足したもの
  • E列は、B列と同じ
他5件のコメントを見る
id:a-kuma3

迂闊系回答者なものですから、ドキドキしてました (^^;

2012/11/07 16:26:22
id:shiotaQ

迂闊系質問者を卒業するようがんばります^^

2012/11/07 16:35:46
id:shiotaQ

すみません。
リストの列1は徐々に大きい値になっている。
リストの中で使っている数字は例

という前提を説明するのが忘れていました。

具体的には、
リストが
432000 1296000
516000 1548000
600000 1800000
684000 2052000
768000 2304000
852000 2556000
936000 2808000
1020000 3060000
1104000 3312000
1188000 3564000
1272000 3816000
1356000 4068000
1440000 4320000

データが
3000
12000
15000
30000
115000
200000
400000
450000
500000
550000
600000
650000
455000
470000
485000
500000
515000
530000
545000
560000
575000
590000
605000
620000
635000
650000
665000
680000
695000
710000
725000
740000
755000
770000
785000
800000
815000
830000
845000
860000
875000
890000
905000
920000
935000
950000
965000
980000
995000
1010000
1025000
1040000
1055000
1070000
1085000
1100000
1115000
1130000
1145000
1160000
1175000
1190000
1205000
1220000
1235000
1250000
1265000
1280000
1295000
1310000
1325000
1340000
になります。

すみません。もうひとつ前提として、返ってくる値は近似ではなくデータの値がリストの列1以下ならば列2を返す
という式が欲しいです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません