[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『抜き出し』(こまったちゃん)
A列には1行目に見出し「受領月日」から下に月日が100ほどランダムに入力されています。 B列には1行目に見出し「受領時間」がランダムに入力されています。 C列には1行目に見出し「品名」が入力されています。 D1に書かれた月日の「受領月日」「受領時間」「品名」を E2に「受領月日」F2「受領時間」G2に「品名」を若い順に抜き出して欲しいのですが、 関数、マクロ両方の方法を教えてください。 よろしくお願いします。
マクロのほうを。いろいろな処理方法があるけど、フィルターオプションと並び替えで。 勝手に、指定日付はD1ではなくD2にした。D1はA1の見出しと同じものをセットしておいて。
Sub Sample()
Columns("E:G").ClearContents
Range("A:C").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("D1:D2"), CopyToRange:=Range("E1"), Unique:=False
Range("E1", Range("E" & Rows.Count).End(xlUp)).Resize(, 3).Sort Key1:=Columns("F"), Order1:=xlAscending, Header:=xlYes
End Sub
(ぶらっと)
ぶらっと様ありがとうございました。 1日中考えてもわからなかったので投稿しました。 感謝してます。 これでゆっくりと寝れます。 本当にありがとうございました。 (こまったちゃん)
>関数、マクロ両方の方法を教えてください。
関数案。
A B C D E F 1 受領月日 受領時間 品名 受領月日 受領時間 品名 2 5月7日 10:00 A 5月4日 13:00 H 3 5月3日 9:00 B 18:00 C 4 5月4日 18:00 C 22:00 F 5 5月5日 15:00 D 6 5月10日 17:00 E 7 5月4日 22:00 F 8 5月3日 20:00 G 9 5月4日 13:00 H 10 5月10日 11:00 I
D2に検索値 E2 =IF(COUNTIF($A:$A,$D$2)<ROW(A1),"",INDEX(B:B,MOD(SMALL(INDEX((($A$2:$A$100<>$D$2)*10^16+TEXT($B$2:$B$100,"hhmm")*10000)+ROW($2:$100),),ROW(A1)),10000))) F2にコピー。 E2:F2 下へコピー。
※範囲 100行目までにしてます。
(GobGob)
GobGob様 バッチリです。 回答者の皆さんはエクセルというソフトを作成に携わった方々なんですか。 何でも答えられるなんてすばらしいです。 本当にありがとうございました。 (こまったちゃん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.