- ベストアンサー
同じ日にちの件数を制限して抽出する方法
- エクセル2010で、日付ごとのデータを制限して抽出する方法を教えてください。
- 同じ日にちのデータがあり、日によって数が異なります。14個以下のデータを抽出し、それ以外は無視したいです。
- 別シートに同じ日にちのデータを抽出する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1行目に項目名がある場合、空白列(たとえばD2セル)に以下の式を入力し、下方向にオートフィルします。 =IF(COUNTIF($A$2:A2,A2)>14,"","○") このD列を基準に「データ」「フィルタ」で「○」を選択して、必要データのみ抽出し、このA~C列のデータ範囲を選択して「コピー」して新規シートに貼り付けてください。
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
データは2行目から下方にあるとします。D列は作業列でD2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)<=14,MAX(D$1:D1)+1,"")) 上の表がシート1にあるとして別のシートのA2セルには次の式を入力して横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(COLUMN(A1)>3,ROW(A1)>MAX(Sheet1!$D:$D)),"",INDEX(Sheet1!$A:$C,MATCH(ROW(A1),Sheet1!$D:$D,0),COLUMN(A1))) なお、A列を選んでセルの表示形式を日付にします。
お礼
ありがとうございます。 一つの方法として参考になりました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 ↓の画像で左側がSheet1で右側のSheet2に表示するようにしてみました。 Sheet1に作業用の列を設けています。 作業列D2セルに =IF(OR(A2="",COUNTIF($A$2:A2,A2)>14),"",ROW()) という数式を入れ、フィルハンドルの(+)マークでダブルクリック、またはオートフィルで下へずぃ~~~!っとコピーしておきます。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$D:$D)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$D:$D,ROW(A1)))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 当然、Sheet2のA列の表示形式は「日付」にしておきます。 以上、参考になれば良いのですが・・・m(__)m
お礼
ありがとうございます。 一つの方法として参考になりました。
- iktmth
- ベストアンサー率63% (236/369)
例えば、1行目にタイトルがあり、2行目からデータがならんでいるとします。 14個以下にしたいということは、15個目から下を削除、すなわち、16行目以下を削除すればよいということです。 日付ごとに別シートになっているようですが、日付ごとのシートの口取紙(インデックス)部分をまとめて選択して、16行目以下を削除すれば、すべてのシートの16行目以下が削除されます。 別ファイルになってしましますが、(1)口取紙(インデックス)部分を選択する作業と、(2)16行目以下を削除する2作業で完了です。 口取紙(インデックス)部分とは、シートを選択する際にクリックする下の左部分にある「Sheet1」とか「Sheet2」とか表示してある部分です(名前をしらないので、そう表現しました。ご存知でしたら、逆に教えていただくとありがたいです)。 複数のシートを一括して選択するには、最初に一番左端の口取紙部分をクリックしてから、一番右端の口取紙部分をSHIFTキーを押しながらクリックすればできます。 特定のシートのみを選択したい時には、選択したいシートの口取紙部分をCTRLキーを押しながらクリックすればできます(最初の1つ目の口取紙は、CTRLキーなしでクリックしてください。)。
お礼
ありがとうございます。 ただ、シートごとに日付が分かれている訳ではありませんので ちょっと違うようです。 ちなみに、口取紙部分の名称はたぶん「シート見出し」 だと思います。
お礼
ありがとうございます。 他の条件でもフィルターオプションをかけるつもりでしたので 一度に出来てちょうど良かったです。 お世話になりました。