- 締切済み
エクセルの空白を求めたいのですが。
エクセルの空白を求めたいのですが。 例えば、 ・・A B C D E 1 4 2 3 8 4 5 6 4 7 8 9 2 10 A列の数字入力があるセルから、次のセルの入力値まで の空白の個数を関数で出来ますでしょうか? A9~A6 は空白が2個となります。 A6~A3 は空白が3個となります。 A列の 各行 には他のセルで計算された値を出しているので、 各行に現れる数値は、その時によって違います。(現れる数値は整数です) わかる方いましたら、宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
- mshr1962
- ベストアンサー率39% (7417/18945)
A列のブランクでないセルの隣に次のブランクでないセルまでのブランク数の表示ならB1に =IF(ISNUMBER(A1),MIN(ROW(A2:A$1000)*1000^ISBLANK(A2:A$1000))-ROW()-1,"") でCtrl+Shift+Enterで配列数式化してください。 ※上記はA1000セルまでの対応です。範囲が広い場合は1000の部分を対応するセルの行と同じ値に変更してください。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 1行目はタイトル行があり、2行目からデータがあるとしています。 尚、↓の数式は配列数式になってしまいますので この画面からコピー&ペーストしただけではエラーになると思います。 B2セル(表示させたい列の2行目ならどの列でも構いません) 貼り付け後、F2キーを押す、又は数式バー内で一度クリック、又は貼り付けセルをダブルクリックします。 編集可能になりますので Shift+Ctrlキーを押しながら、Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 表示させたいセルに =IF(COUNT($A$2:$A$1000)-1<ROW(A1),"",SMALL(IF($A$2:$A$1000<>"",ROW($A$1:$A$999)),ROW(A2))-SMALL(IF($A$2:$A$1000<>"",ROW($A$1:$A$999)),ROW(A1))-1) としてShift+Ctrl+Enterキーです。 これをオートフィルで下へコピーすると画像のような感じで表示されます。 数式はA列の1000行目まで対応できるようにしていますが データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答2です。間違った場所のセルをコピーしてしまったようです。 B2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(AND(A2="",A3<>""),ROW(A1)-COUNT(A$2:A2)-SUM(B$1:B1),"")
- KURUMITO
- ベストアンサー率42% (1835/4283)
A2セルから下行にデータがあるとして、作業列のB2セルには次の式を入力しいて下方にオートフィルドラッグします。 =IF(AND(A5="",A6<>""),ROW(A4)-COUNT(A$2:A5)-SUM(B$1:B4),"") これで空白行が続くそれぞれの最後の行のB列にはそれぞれの空白行の数が表示されます。
- xls88
- ベストアンサー率56% (669/1189)
B2に =IF(A2<>"",COUNTBLANK($A$1:A1)-SUM($B$1:B1),"") B3以下にコピー でどうでしょうか。