• 締切済み

excel関数

A1からC1に年月が入力されています。D1に最新の年月を抽出したいのですが、何か方法はないでしょうか?(VBAでも無理でしょうか?) よろしくお願いします。 行/列  A    B      C    D   1   0812  0902    0705  0902   2   0901  0812    0708   0901

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

> 90年代が入ると9908と古い年月を抽出してしまうのですが 年月を文字列で入れるという変則的な方法をとっている以上、どうしようもないですね。 いっそ、今からでも 1999/8/1 や2008/12/1 のような日付に変えて、セルの書式設定で、ユーザー定義でyymm形式で表示するようにしたらいかがですか? そうすれば見た目は 9908 とか 0812 になりますが、中身はちゃんと日付データですから =MAX(A1:C1) でOKなんですが。

blackcat77
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

A~C列の年月が、単なる文字列なのでしたら =TEXT(SUMPRODUCT(MAX(A1:C1*1)),"0000") そうではなく、シリアル値の日付を表示形式で年月のみにしているなら =MAX(A1:C1) ですね。

blackcat77
質問者

お礼

上手くいきました。ありがとうございました。 ところで、 0812、9908、9701⇒ 0812 90年代が入ると9908と古い年月を抽出してしまうのですが、この場合は何か方法はありますか?

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

年月はどのように入力されているのでしょうか? 数値やシリアル値なら =MAX(A1:D1) です

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 データがyy/mm形式の文字列を数値変換して、最大値(=最新)を抽出します。 因みに配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =TEXT(MAX((A8:C8)*1),"0000")

blackcat77
質問者

お礼

こんな方法があったのか。ありがとうございました。

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

関連するQ&A

  • Excel関数

    Eccel2003を使用して以下のような入力作業を行っております。 A列~C列のセルに「1~10」いずれかの数字を入力して行きます。 入力パターンは (1)A列だけ入力 (2)A列とB列に入力 (3)A列~C列全てのセルに入力 の3パターンです。 複数の列に数字を入力する場合((2)及び(3))、同じ数字を入力することはありません。 【例】     A B C D  1  5  4  1  2  6  3   1 2  4   9 1 3  ・  ・  ・ このとき、A~C列に一つでも奇数が入力されていた場合に、 ある文言をD列に反映させたいのですが、何か良い関数等ありますでしょうか?    ※ 上記例の場合、1,3,4行目のD列に文言を反映 例の4行目のように全ての列に奇数を入力することもあります。 ご教示頂きたく何卒宜しくお願い致します。

  • Excel関数

    Eccel2003を使用して以下のような入力作業を行っております。 A列~C列のセルに「1~10」いずれかの数字を入力して行きます。 入力パターンは (1)A列だけ入力 (2)A列とB列に入力 (3)A列~C列全てのセルに入力 の3パターンです。 複数の列に数字を入力する場合((2)及び(3))、同じ数字を入力することはありません。 【例】     A B C D  1  5  4  1  2  6  3   1 2  4   2 4 5  ・  ・  ・ このとき、A~C列に一つでも該当の数字(ここでは2と4と5)が入力されていた場合に、 ある文言(30文字くらい)をD列に反映させたいのですが、何か良い関数等ありますでしょうか?    ※ 上記例の場合、1,3,4行目のD列に文言を反映 例の4行目のように全ての列に該当の数字を入力することもあります。 ご教示頂きたく何卒宜しくお願い致します。

  • EXCEL関数で教えてください。

    B列に3行おきに名称があります。 C列にその名称ごと(3行ごと)のロット数 D列にその名称ごと(3行ごと)の値A E列にその名称ごと(3行ごと)の値B が入力されています。 そのデータを名称ごとに1行にまとめる場合の関数を教えてください。

  • Excel関数について(初級者)

    例えば以下の表データがあり、    A   B  1 数字  記号 ←タイトル行 2  1   a 3  2   b 4  3   c A行のある数字を入力するとB行の同じ列の記号を表示させるのは(入力欄をC2、結果表示セルをD2として) D2に VLOOKUP(C2,A2:B4,2) でうまくいきました。つまり2を入力するとbという答えです。 でも逆にB行のある文字を入力するとA行の同じ列の数字を表示させるのに(入力欄をC3、結果表示セルをD3として) D3に VLOOKUP(C3,A2:B4,1) つまりcと入力すると3の答え でやってみたが#N/Aのエラーがでてうまくいきません。 間違った点のアドバイスをお願いします。

  • EXCEL2007 情報抽出 関数

    A~E列それぞれの一つのセルに"1"を入力し、F列にある情報を抽出、 G列のセルに表示させたいです。 行が多いので、IF関数などは使用できませんでした・・・ 何を使用すればよろしいでしょうか・・・? 例) A1~A20 B1~B20 C1~C20 D1~D20 E1~E20 それぞれの列の一つだけに1を入力します。 ・A 5に1を入力 → F5の情報をG1に表示 ・B15に1を入力 → F15の情報をG2に表示 ・C 2に1を入力 → F2の情報をG3に表示 ・D18に1を入力 → F18の情報をG4に表示 ・E9 に1を入力 → F9の情報をG5に表示 行数が多く、複数の関数を試してみても、数の制限にひっかかるのか うまくいかず困っています。どうぞよろしくお願いします。

  • Excel関数で自動表示は可能でしょうか。

    最近Excelを始め仕事(道路関係)に使うため勉強しています。 質問失礼致します。 下記のようなExcelシートがあるとします。   A  B  C   D E 1    ○ × 2 a1  a2 a3   a4 × 3 a2  a3 a4    4 a3  a1 a4    5 a4  a1 a2      ここで質問ですが、D2のセルに、a4と入力した時に、下の計算式を通した上で、E2のセルに×と自動表示させためにはどういった数式がひつようでしょうか? 計算式 A列から、D列に入力した文字列(D2のセルに入力したa4)と同じ文字列をみつけ、(この場合はA5セルにあるa4が抽出される)。A列で抽出された一致する文字列の行から、文字列を入力した行のA列(D2のセルにa4と入力したので、その行のA列は、a1になる)に一致する文字列を判断し、さらに、○の列か×の列か、一致するほうの○×どちらかを、自動でE2セルに表示させる。   A  B  C   D E 1    ○ × 2 a1  a2 a3   a4 × 3 a2  a3 a4   a1 ○ 4 a3  a1 a4   a1 × 5 a4  a1 a2   a2 × その数式を使って、D列に文字列を入力していくと、自動にE列に結果を表示させたいです。 ややこしくて、申し訳ありませんが、よろしくお願い致します。

  • 合計が0の行を削除

    計算式が入力されており、合計が0(A,B列に数値が入力 されていない)の行を削除するVBAを教えてください。   A  B  C    1  10  5 15 2       0 3  20  6 26 C列に計算式が入力されています。 50行目まで入力されています。 オートフィルタを使用し、抽出された行を削除する方法が あると思いますが、VBAで作成する方法を探しています。 よろしくお願いします。

  • Excel関数について

    A列の1行目に A C D F X のデータが入ってきます。 B列の1行目に 0 1 2 9 T V のデータが入ってきます。 条件はA列の1行目がAまたはFでB列の1行目が0の場合は10% 条件はA列の1行目がAまたはFでB列の1行目がTの場合はブランク 条件はA列の1行目がDの場合はブランク 条件はA列の1行目がXの場合は100% 上記以外は0% の条件を満たすための関数の設定の仕方を教えてください。

  • 関数について

    関数について VLOOKUP関数を使ってみようと思っているのですが1列目のデータの抽出に仕方がわかりません。 入力例 sheet1 B列__C列__D列 1_______A____現金 2_______B____現金 3_______C____カード 4_______D____カード 5_______E____現金 抽出例 sheet2 B列__C列__D列 1_______A____現金 2_______B____現金 5_______E____現金 抽出例のC、D列はVLOOKUPを使おうと思っています。 B列の抽出にはどのようにしたらいいかおしえてください。

  • エクセルのIF関数について

    エクセルのIF関数について質問をさせて頂きます。 現在、下記のような条件で抽出できる式を考えているのですが、 中々思うような式が思い浮かびません。 例えば、     A列  B列  C列  D列 1行目  111 2行目  222 3行目  333 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999 上記のようなシートがあったとして、     A列  B列  C列  D列 1行目  111       999 2行目  222       333 3行目  333   ○   123   × 4行目  444 5行目  555 6行目  666 7行目  777 8行目  888 9行目  999   ○ 上記のように、例として C列の1行目に「999」と入力した場合、A列の9行目に「999」の数字があるので、その横のB列に「○」 C列の2行目に「333」と入力した場合、A列の3行目に「333」の数字があるので、その横のB列に「○」 C列の3行目に「123」と入力した場合、どこにも該当番号がないので、入力したC列の横、即ちD列の3行目に「×」を表示 要は、A列のどこかに該当数字があった場合にはその数字の横(B列)に「○」、どこにも該当数字が無い時には、入力した数字の横、D列に「×」を表示するような数式を考えています。 IF関数を使えばできるような気がするのですが、色々と試してみても中々うまくいきません。 下手な説明で分かり辛いかもしれませんが、どなたかご存知の方がいましたら、ご教授の程頂ければ幸いです。 どうぞ宜しくお願い致します。

専門家に質問してみよう