プロが教えるわが家の防犯対策術!

タイトルのように、「複数のデータの表の最後尾にチェックボックスを作成し、そこに○が入ったデータのみ別の表に抽出していく」という方法を教えてください。
関数でできるのでしょうか?

A 回答 (3件)

チェックボックスでないといけなのなら、VBAでないと無理でしょう。


どこかの列に「○」を付ける方式なら関数でも可能ですが、肝心のデータのサンプルがないので、回答しようがないです。
    • good
    • 1

>複数のデータの表の最後尾にチェックボックス


実例を挙げて質問すべきです。一般化した文章表現にだけががよいわけではない。併用することが良い。「複数の」などどこの語句にかかるのかあいまいになりやすいので注意のこと。データは普通複数。書くまでも無い。
個別特殊な1例でも、一般的な意味がわかる例は作れるものだ。
その考える努力が、エクセルの関数の勉強になるのだ。
ーー
エクセル関数はシートのセルの値しか見れない。そんなこと基本なのだが、その点は判っているのでしょうね。
シート上のチェックボックスは、LinkedCellなどでシートの値にしないと関数では扱えない。
チェックボックスの位置とセルの番地は何の関係も無い。
浮かんでいて、ただそこに今は置かせてもらっているのでそこにある用に見えるというイメージ。
ーーー
抜き出し問題はエクセル関数では複雑になる。
>表の最後尾にチェックボックス、とはその「チェックボックスが見えている列」全体(一部)データを別シートに抜き出すのかな。
ーーー
基本的にVBAに適した問題だと思う。
勉強のこと。
ーーー
質問の主旨を推定して、で書いてみる。
例データ
Sheet1 A1:E5が現データ。
第6行が下記の関数で作成。
コード分類1分類2計数
axu2aa
byv3bb
czw1cc
11<ーチェックボックスの値反映
12
B6の式 =IF(B5="","",MAX($A$6:A6)+1)
E6まで式複写。結果 第6行目
Sheet2で
ax2
by3
cz1
A列はSheet1コピー
B2は=INDEX(Sheet1!$A$2:$E$4,ROW()-1,MATCH(COLUMN()-1,Sheet1!$A$6:$E$6,0))
右方向に式複写。
下方向に式複写。
Googkeで「imogasi方式」で照会してもらえれば、条件に合う、行抜き出しの質問例がたくさん出る。
今回は列抜き出しといったところか。
    • good
    • 0

たとえばSheet1のA、B,C列にデータがありD列には○の付いた行があるとします。


この○のついた行をSheet2に抽出するためにはD列でフィルタ操作を行って表示されたデータをコピーしてSheet2に貼り付けをすればよいでしょう。
関数を使って対応するためには次のようにするのがわかりやすいでしょう。
E列を作業列としてE1セルには次の式を入力して下方にオートフィルドラッグします。
=IF(D1="","",COUNTIF(D$1:D1,"○"))
次にSheet2では、例えばA1セルに次の式を入力してC1セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(COUNTIF(Sheet1!$E:$E,ROW(A1))=0,"",INDEX(Sheet1!$A:$C,MATCH(ROW(A1),Sheet1!$E:$E,0),COLUMN(A1)))
これでSheet2には○のついた行だけが表示されます。
    • good
    • 4

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!