プロが教えるわが家の防犯対策術!

A
1 月/日
2 4/10
3 4/23
4 4/15
5 4/10
6 4/8
というデータがあるとします。
そのデータ下の方に自動的に日付の若い順に重複データは1行のみの表示をさせる(下のような感じ)良い方法はありませんか?できればVBAでない方が嬉しいのですが…
11 4/8
12 4/10
13 4/15
14 4/23

A 回答 (8件)

個人的には yesletsさんがおっしゃる通り フィルタオプションの


設定が良いと思います。関数でやるなら

■A11セル
=IF(COUNT(A2:A10),MIN(A2:A10),"")
■A12セル
=IF(A11="","",IF(MAX(A$2:A$10)=A11,"",
LARGE(A$2:A$10,RANK(A11,A$2:A$10)-1)))
下方向にコピー

でできます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
関数でやりたかったのす。
この方法が私の求めていたものです。
いや~こんなこともできるんだというのが正直な実感です。

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

お礼日時:2006/04/30 01:38

エクセルで、セルに正式な日付け入力をすると、そのセルには、日付シリアル値(1900年1月1日以来の実日数)という正整数がセットされます。

それで正整数の例で説明しても質問の場合にも当てはまります。
例データ
A1:A10
12
11
13
12
10
6
11
10
2
2
例えばC1に
=SMALL(IF(COUNTIF(OFFSET($A$1,0,0,ROW($A$1:$A$10)),$A$1:$A$10)=1,$A$1:$A$10,99999),ROW())
と入れて、
SHIFT、CTRL,ENTERの3つのキーを同時に押します(配列数式)
そして、C1で、+ハンドルを出して下方向に引っ張ります。
結果
2
6
10
11
12
13
99999
この 99999 は、SMALL関数を使う関係で、最近の日付のシリアル値は3万8千台なので、将来にも、まず超えない数値ということで入れています。
その直前で式の複写を止めるか、=IF(上記式=99999,"",上記式)
にするなどして、見えなくすることができます。
    • good
    • 0

A11:=MIN(A2:A6)


A12:=SMALL($A$2:$A$6,COUNTIF($A$2:$A$6,"<="&A11)+1)

エラー処理はしていません
    • good
    • 0

「自動的に」が入力をした時点で自動的に(つまり関数を使って)という意味なのか、単に「したい時」なのかわかりませんが、「したい時」ならば、



(1)A1にある文字列(月/日)と同じ文字列をA10に入力
(2)A1からA6を選択
(3)フィルタオプションの設定で
   抽出先に「指定した範囲」を選択
   リスト範囲A1:A6を確認(入力されているはず)
   抽出範囲にA10:A15を入力
   「重複するデータは無視する」にチェック
   実行ボタンをクリック

で出来ると思います。

この回答への補足

ありがとうございます。
自動は上部に入力した途端に表示されるイメージです。

補足日時:2006/04/30 01:26
    • good
    • 0

No.3追記です。


作業列使わない場合、
[A11]=SMALL(IF(COUNTIF(OFFSET($A$2,,,ROW($A$1:$A$5)),$A$2:$A$6)=1,$A$2:$A$6,""),ROW(A1))
と入力orコピーして、セル編集状態で、通常[Enter]キーのみ押すところを、
[Ctrl]+[Shift]+[Enter]キー同時押し。
配列数式です。
これを[A12:A15]へコピー。
(くどくなるので、エラー処理していません^ ^;)
    • good
    • 0

こんにちは。


例えば未使用列を作業用に使えるなら、一旦重複を排除します。(仮にB列)
[B2]=IF(COUNTIF($A$2:A2,A2)=1,A2,"")
B6までコピー。

[A11]=IF(COUNT($B$2:$B$6)<ROW(A1),"",SMALL($B$2:$B$6,ROW(A1)))
A15までコピー。
    • good
    • 0

1.セル A11 に次式を入力して、此れを下方にズズー


  ッと複写
=IF(ISERROR(SMALL(A$2:A$9,ROW(1:1))),"",SMALL(A$2:A$9,ROW(1:1)))
2.セル A11 以降全ての式を選択して[コピー]→[値
  の貼り付け]
3.“重複するレコードは無視する”機能を適用して
  [フィルタオプションの設定]を実行
    • good
    • 0

vlookupって関数を使うといいですよ。

    • good
    • 0
この回答へのお礼

/(??)

お礼日時:2006/04/28 23:56

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