• 締切済み

Excel2016 オートフィルタの設定について

以前Excel2003で作成した表を、 Excel2016にバージョンアップして使用しています。 表の構成は、 日付 項目1 項目2 項目3 という状態です。 データがどんどん追加されていくので、 Excel2003のときはオートフィルタをつけて、 日付のところを「上位10項目」で設定して、たまに過去のデータを振り返りたいとき 日付のフィルタをはずして、項目1で一時的に分類して使っています。 Excel2016でも同じようにしたいのですが、 日付のところで「上位10項目」ができなくて困っています。 できる方法をご存知の方、おしえてください。よろしくお願いします。 ※今のバージョンだと月ごとに分けることはできそうですが、 月ごとにすると、日によって表示されている数が違って見にくいので、(月初は少なく、月末は多いなど) あまりやりたくないです

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

A2以下に年/月/日が記入してあり E2: =(A2>0)*TEXT(A2,"yyyymmdd") セルの書式設定は標準または数値として 以下コピー のようにして数値を並べ,E列でトップテン絞り込みを行うような方法も出来ます。

すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 別にオートフィルターに拘らなくとも、最新のデータが判ればそれで宜しいのではないでしょうか?  もし日付欄には、途中に空欄となっているセルが存在せず、日付等が隙間なく入力されている場合には、先ず日付が入力されているセルのどれでも良いので1つを選択し、その上で[Ctrl]キーを押しながら[↓](下向きの矢印)キーを1回だけ押しますと、選択されているセルが「日付が入力されているセルの中で最も下にあるセル」に変わり、そのセルの所に画面がジャンプしますので、最新情報を確認する事が出来ます。  この時、もし[Ctrl]キーを押しながら[↓]キーを複数回押してしまいますと、シートの中で最も下に位置するセル(1048576行目のセル)が選択されてしまいますが、[Ctrl]キーを押しながら[↑](上向きの矢印)キーを1回だけ押しますと、再度「日付が入力されているセルの中で最も下にあるセル」を選択する事が出来ます。  その他にも関数を利用する方法も考えられます。  例えば、特定のセルに10と入力しておくと、別のシートに「日付が入力されている行の中で、一番下の行から数えて10行以内の行」のデータのみが自動的に表示されるという方法は如何でしょうか?  今仮に、日付が入力されている列がSheet1のA列であるものとし、Sheet2のB1セルに例えば10と入力すると、Sheet2のA列~D列の4行目以下に、Sheet1の表の最後の10行分のデータが自動的に表示されるものとします。  又、前提条件として、日付欄には日付が隙間なく入力されていて、それらの日付は必ず上の方が古く、下へ行くほど新しい日付となっていて、同じ日付のデータが複数連続している事はあっても、下の方が古い日付となっている箇所は存在しないものとします。  その場合、まず、Sheet2のA4セルに次の関数を入力して下さい。 =IF(AND(ISERROR(1/$B$1/(INT(ABS($B$1))=$B$1)),ROWS(A$2:A2)>MIN(SUM($B$1),COUNT(Sheet1!$A:$A))),"",IF(ISERROR(1/(INDEX(Sheet1!$A:$D,MATCH(9E+307,Sheet1!$A:$A)-MIN($B$1,COUNT(Sheet1!$A:$A))+ROWS(A$2:A2),COLUMNS($A:A))<>"")),"",INDEX(Sheet1!$A:$D,MATCH(9E+307,Sheet1!$A:$A)-MIN($B$1,COUNT(Sheet1!$A:$A))+ROWS(A$2:A2),COLUMNS($A:A))))  次に、Sheet2のA4セルをコピーして、Sheet2のB4~D4のセル範囲に貼り付けて下さい。  次に、Sheet2のA4セルの書式設定の表示形式を[日付]に設定して下さい。  次に、Sheet2のA4~D4のセル範囲をコピーして、Sheet2のA列~D列の5行目~14行目のセル範囲に貼り付けて下さい。  以上で準備は完了で、後はSheet2のB1セルに、最新の何行分のデータを表示させれば良いのかを指定する正の整数値を入力すれば、その指定行数分の最新のデータが表示されます。  ところで、下から10行目に入力されている日付と同じ日付のデータが複数ある場合、下から11行目などにも同じ日付のデータが入力されていて、その日付以降のデータが11行以上存在している場合もあり得ます。  その様な場合において、その日付以降のデータを全て表示させなければならない場合には、以下の様な方法となります。(尚、前提条件は前述の方法と同様です)  まず、Sheet2のA4セルに次の関数を入力して下さい。 =IF(ISERROR(1/$B$1/(INT(ABS($B$1))=$B$1)),"",IF(ROW()-ROW(A$4)<COUNTIF(Sheet1!$A:$A,">="&LARGE(Sheet1!$A:$A,MIN($B$1,COUNT(Sheet1!$A:$A)))),LARGE(Sheet1!$A:$A,COUNTIF(Sheet1!$A:$A,">="&LARGE(Sheet1!$A:$A,MIN($B$1,COUNT(Sheet1!$A:$A))))-ROW()+ROW(A$4)),""))  次に、Sheet2のA4セルの書式設定の表示形式を[日付]に設定して下さい。  次に、Sheet2のB4セルに次の関数を入力して下さい。 =IF($A4="","",IF(ISERROR(1/(INDEX(Sheet1!$A:$D,MATCH($A$4,Sheet1!$A:$A,0)+ROW()-ROW($A$4),COLUMNS($A:B))<>"")),"",(INDEX(Sheet1!$A:$D,MATCH($A$4,Sheet1!$A:$A,0)+ROW()-ROW($A$4),COLUMNS($A:B)))))  次に、Sheet2のB4セルをコピーして、Sheet2のC4~D4のセル範囲に貼り付けて下さい。  次に、Sheet2のA4~D4のセル範囲をコピーして、Sheet2のA列~D列の5行目以下に貼り付けて下さい。  以上で準備は完了で、後はSheet2のB1セルに、最新の何番目以内の日付のデータを表示させれば良いのかを指定する正の整数値を入力すれば、日付が入力されているセルの中で、指定数番目に新しい日付以降のデータが表示されます。  ※尚、下記の添付画像では、この方法を用いた表をSheet2ではなく、右下に写っているSheet3上に表示させています。

すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22063)
回答No.1

できません。 日付列をコピーして別の列に貼付け、貼付けた列の書式を標準にして、フィルター→数値フィルター→トップテン(下位10項目)でいかがでしょう。

すると、全ての回答が全文表示されます。

関連するQ&A