• ベストアンサー

エクセルで空白を無視して値を抽出したい

エクセル2007です。どなたかご教授お願いします。 a1からg1のセルで、b1とd1に数値が入っていて、 後のセルは空白だとして、数値の入っているセルの値のみを、 空白を詰めてa2行に移すにはどうすればいいでしょうか? b1d1がa2b2に入るようにしたいです。 空白とセル数は変動するので、応用が利くような数式を 教えていただきたいです。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 配列数式宣言(Shift+Ctrl+Enterキー押下)は不要です。 A2に=IF(COUNT($A$1:$G$1)>=COLUMN(A1),INDEX($A$1:$G$1,SMALL(INDEX(($A$1:$G$1="")*99+COLUMN($A$1:$G$1),),COLUMN(A1))),"")を入力、右方向にオートフィル

kaito_ahiru
質問者

お礼

私の質問の仕方が下手だったので、うまくいきませんでした。 きちんと質問を作り直してからお伺い立てなおします。 有難うございました。

その他の回答 (2)

回答No.3

>応用が利くような数式 の具体的なことがよくわかりませんが、理解をすれば範囲を広くしたり、数値以外にも対応したりとできるように基礎的な関数を使ってみました。 作業行 3行目 A3セルに =COUNT($A1:A1) 右へオートフィル 数値があった時加算 作業行 4行目 単なる1からの連番 =column() でも対応可能 A2セルに =IF(MAX(3:3)<A4,"",INDEX(1:1,MATCH(A4,3:3,0))) 右へオートフィル 添付図参照参考まで

kaito_ahiru
質問者

お礼

私の質問の仕方が下手だったので、うまくいきませんでした。 きちんと質問を作り直してからお伺い立てなおします。 有難うございました。

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

A2セルには次の式を入力し式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。 =IF(COLUMN(A1)>COUNT($B1:$G1),"",INDEX($B1:$G1,SMALL(IF($B1:$G1<>"",COLUMN($A1:$F1),1000),COLUMN(A1)))) その後に式を右横方向にドラッグコピーします。

kaito_ahiru
質問者

お礼

私の質問の仕方が下手だったので、うまくいきませんでした。 きちんと質問を作り直してからお伺い立てなおします。 有難うございました。

関連するQ&A