数式を使用して、あるシートから別のシートにテーブルをフィルターするにはどうすればよいでしょうか? 数式を使わずに、次のようにセルの参照をコピーするだけです。
=INDEX(MainSheet!A:A,ROW())
次に、範囲をテーブルとしてマークし、列でフィルター処理して、読みやすくするために列を非表示にします。これは私にとっては解決策のようには思えません。フィルター処理されたシートの列/行を非表示にせずにこれを実現したいと考えています。
たとえば、次の 3 つのシートがあるとします。
- メインシート
- シート2
- シート3
「メインシート」シートには次の内容が含まれています。
| ID | Name | Filter To
|-------------------------------
| 1 | Record 1 | Sheet 2
| 2 | Record 2 | Sheet 3
| 3 | Record 3 | Sheet 2
| 4 | Record 4 | Sheet 2
| 5 | Record 5 | Sheet 3
次にやりたいことは、これらのセルを取得し、数式でフィルタリングして、フィルタリングされた行を目的のシート (「シート 2」と「シート 3」) に配置することです。
答え1
答え2
Sheet2に次の数式を記述します。
セル E242 に次の配列数式を入力し、Ctrl + Shift + Enter で終了して下方向に入力します。
{=IFERROR(INDEX(MainSheet!$A$242:$A$246,MATCH(0,IF($F$240=MainSheet!$C$242:$C$246,COUNTIF($E$241:$E241,MainSheet!$A$242:$A$246),""),0)),"")}
セル F242 に次の配列数式を入力し、Ctrl + Shift + Enter で終了して下方向に入力します。
{=IFERROR(INDEX(MainSheet$B$242:$B$246, MATCH(0, IF($F$240=MainSheet!$C$242:$C$246, COUNTIF($F$241:$F241, MainSheet!$B$242:$B$246), ""), 0)),"")}
Sheet3に次の数式を記述します。
セル G242 に次の配列数式を入力し、Ctrl + Shift + Enter で終了して下方向に入力します。
{=IFERROR(INDEX(MainSheet!$A$242:$A$246,MATCH(0,IF($H$240=MainSheet!$C$242:$C$246,COUNTIF($G$241:$G241,MainSheet!$A$242:$A$246),""),0)),"")}
セル H242 に次の配列数式を入力し、Ctrl + Shift + Enter で終了して、下方向に入力します。
{=IFERROR(INDEX(MainSheet!$B$242:$B$246, MATCH(0, IF($H$240=MainSheet!$C$242:$C$246, COUNTIF($H$241:$H241, MainSheet!$B$242:$B$246), ""), 0)),"")}
注意 必要に応じて数式内のセルのアドレスを調整します。