• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL: 非表示を含んだときの連番表示について)

Excelで非表示を含んだ連番表示について

このQ&Aのポイント
  • エクセル2010で非表示行を含む連番表示について、問題が発生しています。
  • 非表示行があるため、RANK関数を使用して連番を付けると、非表示行の順位も含まれてしまいます。
  • SUBTOTALを使用して非表示行をスキップして連番を付けることはできますが、他の列の値との関連性がないためソート時に固定されてしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

例えばA2セルから下方に連番があるとします。また、別にB2セルから下方には何かの数値が入力されているとします。 例えばC2セルから下方にフィルタでソートしたあとの番号を1から連番で表示させるとしたらC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",SUBTOTAL(2,A$2:A2)) または次の式でもよいでしょう。 =IF(A2="","",SUBTOTAL(2,B$2:B2)) C列には表示されている行のみに連番が表示されます。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! 前回の方法では合計だけの抽出になってしまいます。 オートフィルタをお使いだということは他の色々な条件でのフィルタも考えていらっしゃると思うので 多分希望通りにならないと思います。 という訳で前回の方法は無視してください。 何度も失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 外していたり、参考にならなかったらごめんなさい。 オートフィルタではないのですが、別Sheetに表示する方法です。 どのような表か判らないので勝手にこちらで↓のように作ってみました。 ↓の画像でSheet1のデータをSheet2のA2・B2セルに条件を入力すればそのデータを表示するようにしてみました。 Sheet1に作業用の列を設けています。 作業列I2セルに =IF(COUNTBLANK(Sheet2!$A$2:$B$2),"",IF(AND(G2>=Sheet2!$A$2,G2<=Sheet2!$B$2),ROW(),"")) という数式をいれフィルハンドでダブルクリック、またはオートフィルで下へコピーします。 そして、Sheet2のA5セルに =IF(COUNT(Sheet1!$I:$I)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$I:$I,ROW(A1)))) という数式をいれ、列方向にG5セルまでオートフィルでコピーします。 H5セルに =IF(G5="","",RANK(G5,$G$5:$G$100)) (とりあえず、Sheet2の100行目まで表示されても対応できるようにしています。) として、最後にA5~H5セルを範囲指定し、H5のフィルハンドルで下へコピーすると 画像のような感じになります。 この程度しか思いつきませんが 他に良い方法があれば読み流してくださいね。m(__)m

  • Saturn5
  • ベストアンサー率45% (2270/4952)
回答No.1

順位を付けるセルが正の数値という仮定ですが... [表示]といる列を作り、表示セルには1を、非表示セルには0を代入します。 [順位]という列を作り、[値]×[表示]の計算式を入力します。 [順位]セルに関してrank関数を設定します。

関連するQ&A