[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『C列の値の0.9以下の値をB列から探したい。』(正)
毎度お世話になっています。
すみませんが、どなたか教えてください。
最初のC2はA2を入力
C3以降にはIF(D2="B",A3,0) がコピーされています。
C2の値の0.9以下の値をB列のB3以降から探し,D列にBと入力したい。
D列にBが入力されたらC列の次の行にはA列の値が入力されている。
D3以降にはどのような計算式を入力すればよろしいでしょうか。
よろしくお願いします。 (正)
A B C D 1 データー1 データー2 データー3答え 2 14100 13750 14100 3 13210 13400 0 4 13260 13990 0 5 13700 13540 0 6 13850 13700 0 7 13300 12950 0 8 12350 12090 0 B 9 11690 11800 11690 10 11700 11480 0 11 10880 10370 0 B 12 9770 10700 9770 13 11000 11160 0 14 10600 11880 0 15 11280 10830 0 16 11700 11280 0 17 11080 11080 0 18 10480 10200 0 19 9800 9850 0 20 10250 10100 0 21 9890 10150 0 22 9950 9990 0 23 9900 10020 0 24 10090 9710 0 25 9510 9350 0 26 8750 8670 0 27 8570 8580 0 B 28 8300 8200 8300 29 7950 8650 0 30 9050 8500 0
こんばんは。
>C2の値の0.9以下の値をB列のB3以降から探し... この、[0.9以下] というのは [90%以下] と解釈していいのでしょうか?
D2 にも 14100 と入力して下さい。 D3 に =IF(A3<INDEX(D$2:D2,MATCH(10^17,D$2:D2))*0.9,B3,"") として下にコピー。 セルの表示形式を、ユーザー定義で "B" とします。
C3 に =IF(CELL("type",D2)="v",A3,0) として下にコピー。 C3 にも数値が出ますが、じゃまなら IF を使って消して下さい。
また、ご提示の例だと 27 8570 8580 0 B と、27行目に B が出力 と書いてありますが、上の数式だと、 26 8750 8670 0 B となります。 この数式方法だと、ダメなのでしょうかね。 (jun53)
質問の不手際申し訳ありません。
90%以下そのとおりです。
C2の値×0.9とするところを間違いました。
また、27行目のB、28行目の8300も、26行目のB、27行目の8570にするところを間違いました。
この数式で結構です。たいへん喜んでおります。
長い間悩んでいたことが解決できました。
すみませんがもう少し教えてください。
>セルの表示形式を、ユーザー定義で "B" とします。
とありますが、D2:D30まで範囲指定、書式のセルのユーザー定義まではわかるのですが、
それからどうするのか解かりません。
また、なぜD2にも14100を入力するのかなと思いましたが、C3以下の式を変更するためですね。
おんぶにダッコで申し訳ありませんが、今後の勉強のために二つの式の解説をしていただけないでしょうか。
よろしくお願いします。 (正)
うまく説明できるといいのですが、
ユーザー定義で、右側の [種類] の窓に "B" と入力しOK します。 自分用の表示形式を作る、ということなんです。 D列に B 表示 というのに、もしも重要な意味が無いのでしたら、 [標準]の形式で、数値表示になりますね。
D2 に 14100 入力は、 =IF(A3<INDEX(D$2:D2,MATCH(10^17,D$2:D2))*0.9,B3,"") の中の D$2 で、基本となる数値になります。 これが無いと *0.9 で探す最初の値が出てきませんね。
MATCH(10^17,D$2:D2) はこの学校で再三出てくる数式で、 簡単に言えば、[数式入力以前] の時点での [最終(最新)]値を認識させる式です。 先頭データの 14100*0.9 数値が [ A3< ←下にコピーするので可変] になった時点で出力します。 以下、次の A3<INDEX(D$2:D2,MATCH(10^17,D$2:D2))*0.9 を探します。
詳しくは、 [[20031021160546]]『常時シート1の最右列の値をシート2に記す方法』(j) [[20030806101456]]『一覧の中から最終データを取り出す』(あるふ) [kkk]さんの説明がわかりやすいと思います。
=IF(CELL("type",D2)="v",A3,0) は、 =IF(D2="",0,A3) でもいいようです。 D列に B 表示 というのに固執して考えすぎてしまいました。 CELL("type",D2) は、エクセルヘルプでも簡単に説明して有るようです。
以上で、いかがでしょうか? (jun53)
ユーザー定義よく解りました。
INDEX,MATCH 関数は慣れていないのでこれを機会に勉強させていただきます。
今後とも宜しくお願いします。 (正)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.