アプリ版:「スタンプのみでお礼する」機能のリリースについて

<図1>
    A     B
1   あいう
2         えお
3   かきく
4         けこ
5   さしす

<図2>各行の空白セルを詰めて表示させる
    A     B    
10  あいう  けこ
11  かきく
12  さしす
13  えお


以前の投稿で以下のようなものはあったのですが、
上記のようにしたい場合、どの様な関数を組めばいいのでしょうか?
------以下,参考にした例------

<図1>
    A     B
1   あいう
2         えお
3   かきく
4         けこ
5   さしす

<図2>各行の空白セルを詰めて表示させる
    A     B    
10  あいう   えお
11  かきく   けこ
12  さしす
13
14

【関数】

A10: =IF(ROW(A1)>COUNTA(A$1:A$5),"",INDEX(A$1:A$5,SMALL(IF(A$1:A$5<>"",ROW($A$1:$A$5),""),ROW(A1))))

A 回答 (12件中11~12件)

済みません、式間違えていました。


お詫びの上訂正します。

誤記
=IF(SUMPRODUCT((A$1:A$5<>"")+0)<ROW(A1),"",OFFSET(A$1,LARGE(INDEX((A$1:A$5<>""),,)*(6-ROW(A$1:A$5)),A1)-1,0,1,1))

正記
=IF(SUMPRODUCT((A$1:A$5<>"")+0)<ROW(A1),"",OFFSET(A$1,6-LARGE(INDEX((A$1:A$5<>"")*(6-ROW(A$1:A$5)),,),ROW(A1))-1,0,1,1))

A10に記入後
フィルなどでA10:B15にコピーしてください。


失礼しました。
「Excel 空白セルを詰めて表示する方法」の回答画像11
    • good
    • 0

お恥ずかしい限りですね


もう解決しているとされる下段の式を書いていましたね、

取り急ぎ
上段用の式を5行表示ではありますが作りましたので
お確かめください。

=OFFSET($A$1,MOD(10-LARGE(INDEX(($A$1:$B$5<>"")*(11-ROW($A$1:$B$5))-($A$1:$B$5<>"")*(COLUMN($A$1:$B$5)-1)*5,,),ROW(A1)+(COLUMN(A1)-1)*5),5),TRUNC((10-LARGE(INDEX(($A$1:$B$5<>"")*(11-ROW($A$1:$B$5))-($A$1:$B$5<>"")*(COLUMN($A$1:$B$5)-1)*5,,),ROW(A1)+(COLUMN(A1)-1)*5))/5),1,1)
A10に此を入力、
A10:B14にフィルなどでコピーしてください

エラー処理はしていませんが
イレギュラー時はC1を参照するだけですから
そもそもC1がヌルならばエラー処理も要らない…
と、いうことで 敢えてしていません。

長くなってしまいましたが致し方ありませんね


ところで
お示し頂いた式
=IF(ROW(A1)>COUNTA(A$1:A$5),"",INDEX(A$1:A$5,SMALL(IF(A$1:A$5<>"",ROW($A$1:$A$5),""),ROW(A1))))
は、私の環境Excel2003では、動作確認が取れませんでした。

大体IF構文の使い方がめちゃくちゃなので、
はっと見で「ダメダメだ」と解る位の
低い次元の話しなのですが、
確認してみたらやはり駄目ですね。

恐らく2007でも駄目でしょう…

式中に配列数式のIFを使うのは本当に難しいレベル、
私自身避けて通る物ですから、
ね。
「Excel 空白セルを詰めて表示する方法」の回答画像12
    • good
    • 0

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