Excel - 数式を使用して、あるシートから別のシートにテーブルをフィルターする

Excel - 数式を使用して、あるシートから別のシートにテーブルをフィルターする

数式を使用して、あるシートから別のシートにテーブルをフィルターするにはどうすればよいでしょうか? 数式を使わずに、次のようにセルの参照をコピーするだけです。

=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、セルA1入力:

=MATCH("Sheet 2",'Main Sheet'!C:C,0)

そしてA2入力:

=IFERROR(MATCH("Sheet 2",INDEX('Main Sheet'!C:C,A1+1):INDEX('Main Sheet'!C:C,9999),0)+A1,"")

コピーA2下向き。シート2細胞B1入力:

=INDEX('Main Sheet'!A:A,$A1)

これを下方向と横方向にコピーします。

ここに画像の説明を入力してください

メモ欄データがフィルタリングされる行、列を識別しますBそして識別子そして名前その行から。

答え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)),"")}

注意 必要に応じて数式内のセルのアドレスを調整します。

関連情報