No.3ベストアンサー
- 回答日時:
こんばんは。
昨日のご質問にもお答えしたものです。
これも同じ考えた方でできますよ。
■作業列を使う方法です。
作業列はどの列を使用してもかまいません。
ここでは例として Sheet1の J列を使います。
A列の日付が 2行目から始まっているとすれば、
Sheet1の J2に↓( J列の表示形式は 「標準」 のままにしておいてください)
----------------------------
=IF(A2="","",A2*10000+ROW())
----------------------------
◆上の数式を、A列のデータ最終行までコピーしてください。
今後もデータが増えるのなら、予想される最大行までコピーしておいてください。
( 最大500件だと思えば、J500 までコピー)
3.85E+08 ←のような感じで表示されても気にしないでください。
列幅を広げればちゃんと表示されます。
作業列が目障りなら非表示にしてください。
Sheet2 の A2に↓
----------------------------------------------
=IF(COUNT(Sheet1!$J:$J)<ROW(A1),"",INDEX(Sheet1!$A:$C,MATCH(SMALL(Sheet1!$J:$J,ROW(A1)),Sheet1!$J:$J,0),COLUMN(A1)))
----------------------------------------------
作業列を J列と仮定しています。
J列以外の列を作業列に使う場合は、数式の $J:$J (3ヶ所)をその列記号に変更してください。
絶対参照($)にしているところは必ず絶対参照にしておいてください。
ROW(A1)、COLUMN(A1) の A1はそのままにしておいてください。
◆この数式を、そのまま右にC2までコピー
そのまま(A2~C2が選択された状態で)下に、Sheet1 のデータ件数分コピーしてください。
今後もSheet1のデータが増えつづけるのなら、予想される最大行までコピーしておいてください。
A列の表示形式を「日付」、B・C列の表示形式を「標準」にしてください。
◇
ROW(A1)、COLUMN(A1) の意味については、昨日のご質問の補足にお答えしておきましたので、そちらをご覧ください。
No.4
- 回答日時:
日付は日付シリアル値で値の実態は整数です。
A列にA2:A6に
2003/4/5
2004/1/1
2004/3/4
2003/4/5
2001/5/1
があるとします。
RANKは同じ日が同じ順位数字になってしまいます。これを避けるために、ある日で9件までしかダブらないと仮定できるなら
=A2+0.1*COUNTIF($A$2:A2,A2)
をB2にいれB6まで複写します。
B列の書式を数値、小数点以下を2位にしておきます。1位でもよいが。
10件をダブル可能性ありなら、0.01をかけましょう。
37716.10
37987.10
38050.10
37716.20
37012.10
となります。
これでB列でランクをとると
=RANK(B2,$B$2:$B6)
を複写する。
昇順ならSMALL関数を使う。
結果
4
2
1
3
5
これで連続した順位が振れました。
Sheet2にいって
=OFFSET(Sheet1!$A$2,MATCH(ROW(),Sheet1!$C$2:$C$6,0)-1,0)
と入れてA5まで複写する。
結果(書式を必ず日付にしておく)
2004/3/4
2004/1/1
2003/4/5
2003/4/5
2001/5/1
と並びました。(降順)
この回答への補足
皆様、ご回答ありがとうございました。
お礼が遅くなり申し訳ございません。また、補足欄で皆様にお礼申し上げる非礼をお許しください。
色々なやり方があって驚きました。どれも参考になるご回答です。
じっくり検討したいと思います。
No.2
- 回答日時:
こんにちは
ご希望の回答であるかどうか自信がありませんが、私でしたらこんな関数で作成しますので、参考になさってください。
1 入力Sheet1のD列に =IF(A2="","",YEAR(A2)*100+MONTH(A2)+ROW()/1000)と日付を数字に変換。
(/1000の1000はデータの数に伴い変更してください。)
2 入力Sheet1のE列に =IF(A2="","",RANK(D2,$D:$D,1)として、1で取出した数字をRANKづけします。
3 1と2をドラックし行コピーします。
4 Sheet2 のA2から 1,2,~と番号を入力しておきます。
5 Sheet2のB2に =INDEX(Sheet1$A$2:$E$1000,MATCH(A2,Sheet1$E$2:$E$1000,0),1)
6 同じくC2に ),2),
D2に ),3)といれ、これらを
下にドラックしてコピーします。
説明が下手ごめんなさい。
少しでも参考になれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) excel 行でソートすると計算式が上手くいかない。 6 2022/06/01 08:18
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- Excel(エクセル) Excel での関数についての質問です。 例えばA列に商品名を、B列に個数をそれぞれ入力しています。 7 2023/05/13 10:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】適切な文字数の数字を...
-
【関数】先頭だけにある、半角...
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
LOOKUP関数を使えばいいのでし...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
-
時間によってファイル名が変わ...
-
Excelのpivotについて質問です
-
excelの不要な行の削除ができな...
-
Excelで、決まった行を繰り返し...
-
WPS OFFICEでの縦書きについて
-
UNIQUE関数が使えないバージョ...
-
エクセルの条件付き書式につい...
-
エクセルで「-0.0」と表示さ...
-
Aというブックの1というシート...
-
VBA Private Sub Worksheet_Cha...
-
【マクロ】ファイル名の変更に...
-
【マクロ】エクセルにかいてあ...
-
excel で二つのどちらかを選ぶ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報