質問: excel 不規則な表からのデータ抽出 excelで以下のようなことはできますか? 画像のsheet1の各表の、 「点数計」セル(b6,b12,b18)がゼロでない人の「名前」(b3,b9,b15)等のデータを、 sheet2の表へ、上から詰めて自動的に表示させたいです。 自動的に、というのは、sheet1の値が変わったときに自動でshhet2にも反映されるようにしたい、ということです。 他の質問を見ると配列数式?を用いていますが、 私のようにデータの入力されている行や列がバラバラでもできるのかと思い質問しました。 よろしくお願いします。
回答: no.2です。 前回投稿した数式のa2セルの方の数式の説明ですね。 あくまで当方がアップした画像の配置での数式なので、 お手元の配置と異なれば数式も変わってきます。 まず、数式の大きな流れを説明します。 前回の数式 =if(sumproduct((mod(row(a$1:a$1000),6)=5)*(sheet1!b$1:b$1000<>0))0),row(a$1:a$1000)-3),row(a1)))) を判りやすく =if(sumproduct((1*2)0) b1~b1000 が「0以外」 となり (sumproduct((mod(row(a$1:a$1000),6)=5)*(sheet1!b$1:b$1000<>0)) で 1×2 → 「点数計」の行がtrue、なおかつその行のb列が「0」以外のセル数が求められます。 >(mod(row(a$1:a$1000),6)=5) の部分は >(mod(row(sheet1!a$1:a$1000),6)=5) としても良いのですが、単に行番号の判定だけなので敢えてsheetは指定していません。 ただ、b列判定はsheetをちゃんと指定する必要があります。 前回の画像では「2」という結果になります。 数式を入れたセルを「