- 締切済み
あるexcel表からチェックボックスに○のついた情報のみを別の表に抽出する方法
タイトルのように、「複数のデータの表の最後尾にチェックボックスを作成し、そこに○が入ったデータのみ別の表に抽出していく」という方法を教えてください。 関数でできるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- cistronezk
- ベストアンサー率38% (120/309)
チェックボックスでないといけなのなら、VBAでないと無理でしょう。 どこかの列に「○」を付ける方式なら関数でも可能ですが、肝心のデータのサンプルがないので、回答しようがないです。
- imogasi
- ベストアンサー率27% (4737/17070)
>複数のデータの表の最後尾にチェックボックス 実例を挙げて質問すべきです。一般化した文章表現にだけががよいわけではない。併用することが良い。「複数の」などどこの語句にかかるのかあいまいになりやすいので注意のこと。データは普通複数。書くまでも無い。 個別特殊な1例でも、一般的な意味がわかる例は作れるものだ。 その考える努力が、エクセルの関数の勉強になるのだ。 ーー エクセル関数はシートのセルの値しか見れない。そんなこと基本なのだが、その点は判っているのでしょうね。 シート上のチェックボックスは、LinkedCellなどでシートの値にしないと関数では扱えない。 チェックボックスの位置とセルの番地は何の関係も無い。 浮かんでいて、ただそこに今は置かせてもらっているのでそこにある用に見えるというイメージ。 ーーー 抜き出し問題はエクセル関数では複雑になる。 >表の最後尾にチェックボックス、とはその「チェックボックスが見えている列」全体(一部)データを別シートに抜き出すのかな。 ーーー 基本的にVBAに適した問題だと思う。 勉強のこと。 ーーー 質問の主旨を推定して、で書いてみる。 例データ Sheet1 A1:E5が現データ。 第6行が下記の関数で作成。 コード 分類1 分類2 計数 a x u 2 aa b y v 3 bb c z w 1 cc 1 1 <ーチェックボックスの値反映 1 2 B6の式 =IF(B5="","",MAX($A$6:A6)+1) E6まで式複写。結果 第6行目 Sheet2で a x 2 b y 3 c z 1 A列はSheet1コピー B2は=INDEX(Sheet1!$A$2:$E$4,ROW()-1,MATCH(COLUMN()-1,Sheet1!$A$6:$E$6,0)) 右方向に式複写。 下方向に式複写。 Googkeで「imogasi方式」で照会してもらえれば、条件に合う、行抜き出しの質問例がたくさん出る。 今回は列抜き出しといったところか。
- KURUMITO
- ベストアンサー率42% (1835/4283)
たとえば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には○のついた行だけが表示されます。