• ベストアンサー

エクセルでの自動計算を教えてください

エクセルで作った表を自動的に別なシートで並び変えるやり方を教えてください・。 例えば名前と年齢を入力した表が、即自動的に別なシートで年齢順になっている など 自動的に並び替えることに拘っています。

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

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

こんばんは! 具体的な表のレイアウトが判らないので、 やり方だけ・・・ >年齢順になっている は 年齢の昇順というコトにしています。 ↓の画像で右側が入力用でSheet1・右側が表示用でSheet2とします。 Sheet2のA2セルに =IF(B2="","",INDEX(Sheet1!A$1:A$1000,SMALL(IF(Sheet1!B$1:B$1000=B2,ROW(A$1:A$1000)),COUNTIF(B$2:B2,B2)))) これは配列数式になりますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は、 上記数式をドラッグでコピー → A2セルを選択 → 数式バー内で一度クリック → 貼り付け → そのまま(編集可能のまま)Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 次にSheet2のB2セルに Excel2007以降の場合は =IFERROR(SMALL(Sheet1!B:B,ROW(A1)),"") Excel2003まででは =IF(COUNT(Sheet1!B:B)<ROW(A1),"",SMALL(Sheet1!B:B,ROW(A1))) これは配列数式ではありません。 最後にA2・B2を範囲指定 → B2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 ※ 配列数式はPCにかなりの負担をかけ、データ量が極端に多い場合は計算速度が遅くなります。 その場合は作業用の列を設ける方法が良いと思います。m(_ _)m

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

関連するQ&A