• ベストアンサー

条件に適合した数値をピックアップしたい

エクセル初心者+このサイトも初心者です。よろしくお願いします。 以下のような表があるとき    A    B    C 1  4/3    20    2  4/10   40 3  4/25   60 C1のセルにA列の最も日付が新しい時のB列の数値を表示したいです。 どのような関数を使えば良いのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

エクセルでは「最新の日付」=「日付の値が最大」という風に計算できます。 計算例:A列が(飛び飛びであっても)必ず「昇順」である場合 =VLOOKUP(MAX(A:A),A:B,2) 計算例:A列が「順不同」である場合 =VLOOKUP(MAX(A:A),A:B,2,FALSED) 計算例:実は日付によらず,「一番下の行」を持ってきたかった場合 (結果的にそれが「最新の日付」になっていた場合と同じ) =INDEX(B:B,COUNTA(A:A))

jianjie
質問者

お礼

ご回答頂いた内容をコピーして貼り付けしたら出来ました! いくつかパターン例もあげて頂いてありがとうございます、これからの参考にしたいと思います。 助かりました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

エクセル関数の本に良く載っている例題だ。エクセルの関数の解説書も読まず質問しているようだ。 A列は日付シリアル値でセルに入力されている場合は、日付は正の整数の値なのだ。1900年1月1日からのその日までの経過日数なのだ。(注)日付シリアル値は初耳なら、Googleで照会のこと。 だから一番新しいとは、一番最近のことだとすれば、A列で一番大きい数の行を見つけることになる。 最大は =MAX(A1:A8) その日付の行は(2行以上同じ日付が該当が無いと言う仮定で) =MATCH(MAX(A1:A8),A1:A8,0) その行のB列のデータは、=INDEX($B$1:$B$8,MATCH(MAX(A1:A8),A1:A8,0)) 例データ A列    B列 1 aa 21 ss 34 dd 56 cc 34 df 23 gg 15 e 24 r と質問は同じ型なんだ。 A列に日付を入れてやってみて。2011/1/2のような日付の入れ方になっていること。文字列で日付入力されていると不可。

jianjie
質問者

お礼

安易にご質問してしまい、失礼いたしました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル関数について

    エクセルの関数について質問です。 例えば、 C1セルには、数値データが入っています。 A2~A10セルに日付データ。 B2~B10セルに数値データが入っている表があります。 B11セルの値に、(C1データ)-(A列の最新日付セルと同行のB列データ)を表示させたい場合、 どのような関数を作成すればよいですか。 宜しくお願いします。

  • 【Excel】日付を条件のひとつに指定してデータ集計

    Excel2003を使用しています。 A列(A7セル以下) → 日付[yy/mm/dd] B列(B7セル以下) → 文字列 C列(C7セル以下) → 文字列 D列(D7セル以下) → 数値 が入力されている表があります。 例えば、A列の日付が 06/09/29 以前で、かつ、B列にある特定の文字(仮にえくせるとします)が含まれるD列の数値を集計したいのですが、どのようにすればいいでしょうか? 関数で試してみたのですが、うまくいかなかったので、質問させていただきました。 よろしくお願いします。

  • 関数によって空白したのを数値「0」に置き換える

    A.............B...............C 1 ZZ............6..............× 2 AA........... 1 3 BB 4 CC............3 B列にはそれぞれ関数が入っています。 セルB1には、B2、B3、B4の数値の合計です。 C1のセルには、C1数値とB2、B3、B4の数値の合計が一致しているか否かの判定する関数が 入っており、一致していなければ、"×"が表示させるようにしています。 しかし、ここで問題が起きました。 「VALUE」というエラーが表示されました。 上記の表では、セルB3は、空白になっております。 本来は、セルが空白になっている場合は、「0」が格納されていると思うのですが、 ここには、関数によって、文字列?の「空白」に置き換えられています。 例えば = IF((Z5) ,5, "") ようにです。 多分、関数によって文字列として認識される空白("")を置いたためと思います。 関数によって置き換えた空白("")を数値「0」として認識できる関数を教えてください。 いろいろな方法があると思いますが、「関数」のみで教えてください。 C1には、以下の関数が入っています。 =IF((B1) = (B2+B3+B4) ,"○","×")

  • エクセル関数 条件適合時にゼロ値を表示したい。

    エクセルの計算結果のゼロ値の表示方法について教えてください。 セルは、A列・B列・C列に各7行があります。 A1 B1 C1 A2 B2 C2 A3 B3 C3  ・  ・  ・  ・  ・  ・ と言う感じです。 A列とB列は任意の数値を入力し、C列は(A列-B列)の計です。 例えば、C列の計算結果として、次のように数字を表示させたいのです。     A列  B列  C列 1行   8   6   2 2行             (A列に未入力なので、C列にはゼロ値も表示しません) 3行   5   5   0 (計算結果として、C3にはゼロ値を表示します) 【A列に数値が入るかどうかは、その度に変わります。次の時にはB1せるにも数値が入る可能性があります】 C1セルに計算式を入力し、下のセルにはフィルドラッグで入力できるような式はあるでしょうか? よろしくお願いします。

  • 入力された数値とその右側の数値(文字)での表作成

    Excel Ver2007 任意の列(この場合はB列)のセルに入力してある数値(「表A」のB2、B4、B5、B8)と、その右側にあるのセルの数値(文字の場合もあります。「A表」のA2、A4、A5、A8)だけを選んで、「表B」のように作成できる関数はありますか、ご教示をお願いします。

  • Excel 数値比較について

    A列に基準値、B列に結果の数値、C列にその差異の数値を表示したい場合は、どんな数式?関数?を利用すればいいですか。 例えば, セルA1に10、B1に8の場合、C1に2という数値を表したい。 セルA1に5、B1に10の場合、C1に-5という数値を表したい。 お願いします。

  • 指定範囲の条件に合致する順位

    EXCELのVBAで以下のことをやりたいのですが、分かりません。 アドバイス頂けますでしょうか。 例として、1から40行固定の表があります。A、B、C、D列とあり、 A列は数値が必ず入っているセル(1~40)、 B列は時間のシリアル値で、値が入っているセルと入っていないセルの混在、 C列は文字列で値が必ず入っているセル、 D列は数値で、、値が入っているセルと入っていないセルの混在、という表があるとします。 この時に、 「”Bに値が入っていて、かつ、Dに値が入っていない行”の、”B列のトップ3”の、AとBのデータ」が 欲しいのですがどのようにしたらいいか分かりません。 お願いいたします

  • ある条件を満たした最も近い数値を求める配列数式

    ある条件を満たした最も近い数値を求める配列数式について質問します。 A列には,C列の数値と比較する元になる数値が並んでいます。 B列には,D列の数値と比較する元になる数値が並んでいます。 C列には,A列の数値と比較する対象となる数値が並んでいます。 D列には,B列の数値と比較する対象となる数値が並んでいます。 E列には,計算式が入ります。 すなわち,例えば,E20には, C$1:C20の範囲内の数値で, 右となりにあるD$1:D20の数値が0でなく,かつ,B$1:B20の数値以下である数値の中で, 最もA20の数値に近い数値を求めます。もし,この条件に合う最も近い数値が複数あった場合には,最も小さい数値を求めます。 行番号   A    B    C   D   E 1       100   10  89   0   0 2       101   8   90  10   0 3       102   11  92  11  92   4        99   7   77  0   0 5        87   11  68  12  92 6       105  14  100  7   100 7       102   9   78  8   100 8       88   15  102  0    90 9       98   14   99  10    99 10      150   13   78  9   100 11      103    8   79  0   100 12      87     9   68  8   78 13      77   10  70  10   78 14      89   12  71   5   90 15      65   14  102  3   68 16      88   13  105  0   90 17     123   15   98  8   102 18     145   17   99  10   102 19      85    8  100  0    90 20      84    9   87  5    78 一定の条件を満たした配列の合計を計算する関数として,SUMPRODUCT()という便利な関数がありますが, この関数に相当する関数がないので困っています。 MIN関数が配列数式に対応していて,かつ,MIN関数をうまく利用して,最も近い数値を求めることがでるき方法があれば,私の希望が解決できそうなのです。 以上,よろしくアドバイス願います。 なお,エクセルのバージョンは,2010です。 本日,同じ表題の質問をしましたが,その際の質問の本文に掲載した数列が崩れていましたので,再度投稿します。 質問番号:6449070

  • 一番大きな数値がどこにあるか返す

    Excelで次のようなデータが入っているシート上で、一番大きな数値が入っているセルの位置をe列に返す関数の組み方がわかりません。  A B C D E 30 45 42 51 だったら、e列から1列隣の51が一番大きいので  A B C D E 30 45 42 51 1 同じく、  A B C D E 23 40 32 31 だったら  A B C D E 23 40 32 31 3 といった感じの関数の組み方を教えてください。

  • 【Excel】条件を満たすデータの集計について

    Excel2003を使用しています。 A列(A7セル以下) → 日付[yy/mm/dd 形式] B列(B7セル以下) → “-”(ハイフン)を含む11桁の数字[例:1234567-8900] C列(C7セル以下) → 文字列 D列(D7セル以下) → 数値 が入力されている表があります。 A列の日付が 06/09/29 以前で、かつ、B列のハイフン前の4桁が『4567』であるD列の数値を集計したいのですが、どのようにすればいいでしょうか? 前回、同様の質問(No.3403437)で回答をいただきましたが、例の挙げ方が良くなかったようで、実際には正しい計算結果を得ることができませんでした。 よろしくお願いします。

専門家に質問してみよう