人気マンガがだれでも無料♪電子コミック読み放題!!

質問です。
エクセルのB列に(B2からB100位まで)
11/11/2006
10/10/2007
11/10/2007
11/24/2007
12/02/2007
などと日にちが入っています。この中から一番新しい日にちを検索してきてC2のセルに出したいのですが何かLATEST DATE(?)かなにかの関数式ありますか?
教えてください!

このQ&Aに関連する最新のQ&A

A 回答 (3件)

=MAX(B2:B100) ;範囲内の最大値を表示


または
=LARGE(B2:B100,1) ;範囲内の大きいほうからの順番で表示
    • good
    • 10

答えは出ましたが


なぜこんな質問が出るのかと考えると
(1)エクセル日付のセルの値は(日付シリアル値という)正の整数値であることを知らない.
12/5 39421
12/6 39422
(2)日付書式表現の多様性に惑わされている
(3)日付は年号、月中日数などばらばらなので難しい漢字がしているためややこしいという印象
のためこんな質問するのでしょうが、日々1づつカウントアップする値であってみれば、A列の中で一番大きい(日付シリアル)値を求めればよいことが判る。理屈がわかれば質問するまでもない。
最大を求めるのは=MAX(・・)で
=MAX(A:A)
    • good
    • 1

B列に日付(文字列で入力されていない)として



=MAX(B2:B100)
    • good
    • 2

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【EXCEL】条件に一致した最新データのみを抽出

名前・住所・電話番号・注文日・注文内容を記入したExcelファイルを使用しています。
電話でお問い合わせがあった際、電話番号で検索し、
過去のお問い合わせのうち、一番直近のデータで住所やお名前を抽出したいのですが
電話番号を入力すると、名前と住所を一番直近のデータ1つのみ表示させる方法はありますか?
オートフィルタではなく関数を使用して、抽出したいです。

どなたか分かる方、ご指導願います。
VLOOKUPでは古いデータしか反応しなかったので困っております。

Aベストアンサー

簡単のため,日付については上から昇順で記入できているとして。
A列に名前
B列に住所
C列に電話
D列に注文日
E列に注文内容
として。(こういった具体的な姿とかも,手抜きせず情報提供して下さい)

H1に電話番号を記入するとして
=IF(COUNTIF($C:$C,$H$1),INDEX(A:A,SUMPRODUCT(MAX(($C1:$C3000=$H$1)*ROW($C1:$C3000)))),"初見")
と記入,右にコピー。



#参考
>VLOOKUPでは古いデータしか反応しなかったので困っております。

全体を「日付の降順で並べ替えて」VLOOKUPしてやれば,簡単に最新のデータが計算できます。
マクロ等を併用し,「新しく追記したデータを常にリストの上から挿入していく」といった手段を併用するのも,VLOOKUP関数など簡単な方策で計算できる手助けになります。

Qエクセル 最新データのみを表示させたい場合

エクセルに、名前と来訪日がのったシートがあったとします。
その名前の最終来訪日のみを表示させる、関数等はございますでしょうか?

   A列  B列 
1 佐藤 2008/10/5
2 鈴木 2008/1/20
3 上田 2008/5/25
4 鈴木 2008/9/15
5 小野 2008/3/7
6 上田 2008/2/3
7 佐藤 2008/10/16
8 鈴木 2008/11/13
9 佐藤 2008/9/8
    ・
    ・
    ・
シンプルに見えて、意外と難しく私の知識では対応できませんでした。
お手数ですが、お知恵をいただけますと幸いです。

Aベストアンサー

並べ替えてもいいのかな
1. タイトル行を設け
2. データ-並べ替え
 最優先 名前 : 昇順(降順)
 2番目 日付 : 昇順(降順)
3. [OK]

1. データ - 集計
 グループの基準 名前
 集計の方法 最大値
2. [OK]

3. [2]をクリック

Q最新の日付をVLOOKUP

最新の日付をVLOOKで検索するにはどうしたらよいでしょう?
たとえばエクセルAのシートを参考にしてエクセルBに検索地を
顧客NOにして日付をVLOOKしたとします。
このとき、顧客NOは同じで複数日付があるのですが、検索されるのは一番古い日付です。私がヒットさせたいのは最新の日付なのですが、何か良い方法はないでしょうか?(最新の日付を一気にとりだせるのなら別にVLOOKじゃあなくてもよいです「)

エクセルAのデータ
顧客NO 日付
1234 2007/3/4
1234 2008/3/4
7788 2007/4/5
7788 2008/5/4
9988 2008/4/5
9988 2008/5/8

Aベストアンサー

顧客NOを第一キーで並べ替えてるみたいだけど、そのときに日付を
第二キーで降順に指定すると、同じ顧客NOの中では最新の日付が上
にくるよね。そうしたら探し方は今と同じで、希望通りの値が返っ
てくるんじゃないかな。

表を全く並べ替えないとしたら、
=max(index((顧客NOの範囲=検索値)*日付の範囲,0))
みたいな手口を使うけどね。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください

例えばこんなデータなのですが、

2002/07/01 99 25 36
2002/07/05 55 33 25
2002/08/01 80 20 51

日付の入っている列を検索して、2002/07/01から2002/07/31
の範囲ならば、その行のデータを別のシートに抽出したいのですが、
日付の範囲は関数でどうすればよいのか分かりません。ACCESSなら
between 9999/99/99 and 9999/99/99って感じで簡単にできるの
ですが。。。エクセルの関数だとIF関数の論理式にAND関数を使って
>=2002/07/01
<=2002/07/31
と入力したので、2002/07/05ならば、いずれもTRUEなので、値を返して
くれると考えたのですが、なぜかダメでした。
(↓こういう入力をしました)
=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

Aベストアンサー

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

------------余談--------------------------
ご質問の条件例の場合特例で 2002/7でればOKなので

=IF(TEXT(Sheet2!A1,"yyyym")="20027",Sheet2!A1,"該当月ありません")

でも可能ですね!

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

--...続きを読む

QExcelで同じ商品名で、かつ日付が古いものを抽出する方法

ご存知の方、いらっしゃいましたらお願いします。
Excelは2003を使用しています。

複数の条件での抽出で名前が決まっているものは「フィルタオプションの設定」で行っていますが、日付が古いもの、新しいものの抽出方法がわかりません。
「同じ商品名」かつ「日付が古いもの」を抽出したいのですが、それが出来そうな関数、マクロはありますでしょうか。
当方マクロ知識は「マクロの記録」程度です。

A列  B列    C列
商品A 2007/12/01 10:00
商品B 2008/04/01 10:00
商品A 2008/05/01 10:00

現在は目視、手動で★印を別列につけ、それを抽出し削除しています。
削除フラグとして★印等をつけるようなものでも、わかれば嬉しいです。

Aベストアンサー

1.商品名を第1キー、日付を第2キーとして昇順に並び替えます。
2.D1に1を入力し、D2からは=IF(A1=A2,0,1)を入力して下方向へコピー

これでD列の「1」のみ抽出して削除します。

QExcelで、条件と一致する最後のセルを検索したい

Excelで、条件と一致する最後のセルを検索したいのですが、どの関数をどのように使えばいいかわかりません。
どなたかお力をお貸し下さい。

問)
日付  社名  品名  個数
1/1   A    あ    1
1/1   C    い    2
1/2   B    う     3
1/2   A    え    4
1/3   C    お    5
1/3   A    あ    3

答)
A社の最終購入日は  1/3 あ 3
B社の最終購入日は  1/2 う  3
C社の最終購入日は  1/3 お 5

となるようお願いします。

Aベストアンサー

エクセルには「最後の該当」を検索する関数はありません。
無駄に複雑な数式を駆使すればもちろん「やればできます」が、添付図のようにちょっと工夫するだけで、普段使いの数式だけでやっつけるのがお勧めです。

A2:
=IF(OR(C2="",COUNTIF($C$2:C2,C2)<COUNTIF(C:C,C2)),"",C2)
以下コピー

答えは簡単なVLOOKUP関数を使うだけです。
H2:
=IF(COUNTIF($A:$A,$G2),VLOOKUP($G2,$A:$E,2,FALSE),"")




まぁ一応ご参考に作業列を使わない方法:
H2:
=IF(COUNTIF($C:$C,$G2),INDEX(B:B,MAX(IF($C$2:$C$999=$G2,ROW($C$2:$C$999)))))
と記入し、必ずコントロールキーとシフトキーを押しながらEnterで入力する

説明は省略しますので、ブラックボックスで使ってください。

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

QExcelで最新の日付を取得したい

D1セルでMAX関数を用いて、A1, B1, C1セルのいずれかの日付のうち最新の日付を返したいとします。
D1=MAX(A1:C1)
サンプルとして、A1,B1,C1に架空の日付を直接入力した際は、D1に最新の日付が返ってきました。
Use Caseとしては、A1~C1すべてに日付が入ってる場合もあれば、いずれかの場合もあれば、いずれも空白の場合もあります。このサンプル段階では、いずれのケースで試しても、ちゃんと最新の日付が返ってきましたし、すべて空白の場合はD1も空白でした。

しかし、実際のレポートでは、A1,B1,C1セルはVlookupで別のシートから日付を取得する設計で、その場合はD1に=MAX(A1:C1)と入れても何も値が返ってきませんでした。例えばVlookupでA1には日付が返ってきていて、B1は""、C1も""の場合、D1にはA1の日付が表示されて欲しいのですが、空白表示のままです。試しにB1に架空の日付を手入力したら、その日付がD1に表示されました(A1を認識してない感じ)。
説明が難しいのですが、こういった現象がある場合、原因としてどのようなことが考えられますでしょうか?ご教授いただければ幸いです。
サンプルではうまくいって、本番環境でうまくいかないので困っています・・・
補足情報が必要な場合はお知らせください。
どうぞ宜しくお願いします。

D1セルでMAX関数を用いて、A1, B1, C1セルのいずれかの日付のうち最新の日付を返したいとします。
D1=MAX(A1:C1)
サンプルとして、A1,B1,C1に架空の日付を直接入力した際は、D1に最新の日付が返ってきました。
Use Caseとしては、A1~C1すべてに日付が入ってる場合もあれば、いずれかの場合もあれば、いずれも空白の場合もあります。このサンプル段階では、いずれのケースで試しても、ちゃんと最新の日付が返ってきましたし、すべて空白の場合はD1も空白でした。

しかし、実際のレポートでは、A1,B1,C1セル...続きを読む

Aベストアンサー

こんばんは!

すでに回答があるように"/"でつないだ場合は文字列になると思います。

>=VLOOKUP(B2,Training一覧!A:E,3,FALSE)&"/"&VLOOKUP(B2,Training一覧!A:E,4,FALSE)&"/"&VLOOKUP(B2,Training一覧!A:E,5,FALSE)
という数式を

>=DATE(VLOOKUP(B2,Training一覧!A:E,3,FALSE),VLOOKUP(B2,Training一覧!A:E,4,FALSE),VLOOKUP(B2,Training一覧!A:E,5,FALSE))

とし、シリアル値にしたらどうなりますか?

※ 未検証ですので、
改善されなかったらごめんなさい。m(_ _)m


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング