• ベストアンサー

Excelにおけるデーター抽出

Excelのシートに記載されている内容は次の通りです。 (1) セルA5~A60の間に1~56の昇順の番号 (2) セルB5~B60には氏名 (3) セルC5~C60には○、×、△の記号 このシートからC列が ○ の記号が付与されている者だけの氏名を別のシートのB7~B**の間に抽出するのですが、抽出したシートの行に空白ができないようにするには式をExcel関数で作成することは可能でしょうか? 若し、不可能でしたらマクロで行う場合のプログラムを教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

分かり易く行うにはシート1にお示しの表が有るとしてD列には作業列を設けます。D5セルには次の式を入力して下方にドラッグコピーします。 =IF(A5="","",IF(C5="○",MAX(D$4:D4)+1,"")) お求めの表のB7セルには次の式を入力して下方にドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!D:$D),"",INDEX(Sheet1!B:B,MATCH(ROW(A1),Sheet1!D:D,0)))

meganepan
質問者

お礼

早速の回答有難うございます。 シート1に作業欄を設けることに気が付きませんでした。どうにも考えがまとまらずVBAにしか解決できないのかと諦めていました。 Excelの数式も十分に理解できましたので早速ご回答いただきました手順で取り組みます。

関連するQ&A