EXCEL関数 空白セルを詰める関数

このQ&Aのポイント
  • EXCEL関数によって空白セルを詰める方法を調査しました。
  • 図1の表を図2のようにオートフィルタを使わずに表示させるための関数を見つけました。
  • 関数の番地を設定する際には、表の位置に合わせて適切な番地を指定する必要があります。
回答を見る
  • ベストアンサー

EXCEL関数 空白セルを詰める関数

図1の表を図2のようにオートフィルタを使わず表示させる関数で下記を見つけましたが、実際使うときには、番地がA1からの位置ではなくAA60ぐらいの位置でこの関数を実行すると表示されません。 どの部分をその番地にあわせるとよいでしょうか? <図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)))) Ctrl + Shift + Enterキーで式を確定します。 右と下にコピーします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

元データがA60から始まっているとすると, A10に =IF(ROW(A1)>COUNTA(A$60:A$65),"",INDEX(A$60:A$65,SMALL(IF(A$60:A$65<>"",ROW($A$1:$A$6),""),ROW(A1)))) をコントロールキーとシフトキーを押しながらEnter,下にコピー,右にコピー と直す格好になりますね。 #好みの問題ですが =IF(ROW(A1)>COUNTA(A$60:A$65),"",INDEX(A:A,SMALL(IF(A$60:A$65<>"",ROW(A$60:A$65),""),ROW(A1)))) をCtrl+Shift+Enterの方が,判りやすいと思います。

bunbunbun_3
質問者

お礼

大変役に立ちましたありがとうございました。

その他の回答 (1)

  • mar00
  • ベストアンサー率36% (158/430)
回答No.2

関数ではないですが 単純に空白セルを削除するだけならば、範囲を指定して 編集 → ジャンプ → セル選択 → 空白セルを選択して 削除 → 上方向にシフトでもできます。

関連するQ&A

  • Excel 空白セルを詰めて表示する方法

    <図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))))

  • Excel 空白セルを詰めて表示する方法

    <sheet1>にある表をオートフィルタを使用せず,関数で<sheet2>のように空白を詰めた状態にしたいと思っています。 <sheet1>    A    B   C 1 100 -100 2 100 -100 3 -200 100 100 4 5 <sheet2>    A    B   C 1 100 -100 -100 2 -200 100 100 3 100 4 以前に似た質問があり,それを参考にやってみたのですがどうもうまくいきませんでした。文字列と数値では式も変わるものなのでしょうか?参考にした例もあげておきます ------以下,参考にした例------ <図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))))

  • エクセル 空白を消す関数 IF?

    エクセル2002を使っています。 A1のセルに「あい うえお」 A2のセルに「かきく けこ」 A3のセルに「さ しすせそ」…と200行入力してあります。 空白(スペース)を消したいのですが、スペースが入っている位置はまちまちなので、リプレイス関数は使えません。 何とか関数を使って、空白を消す事は出来るのでしょうか? 私が思いついたのはIF関数で、『もしA1のセルに空白があったら空白を消す』と命令できるかも・・・と思ったのですが、式がどのようになるのか分からないし、もっと簡単な、もしくは別の関数があったらぜひ知りたいです。

  • エクセル関数について

    A列とB列に氏名を入れてA列にあってB列にないものを取り出す為に=IFERROR(INDEX($A$2:$A$8,SMALL(IF(ISNA(MATCH($A$2:$A$8,$B$2:$B$8,0)),ROW($A$2:$A$8)-1),ROW()-1),1),"")の関数をⅮ列に入れ下にオオートフィルしたのですが、思うように表示されません。  関数が間違っているのか判りません。 何か良い方法はあれば教えてください。

  • INDEX関数SMALL関数を使って空白行を詰める

    シート1にINDEX関数SMALL関数を使って空白行を詰める表を作成したのですが詰めた表をシート2に表示することはできないのでしょうか。  =IF(COUNTIF($A4:$A4,0)=0,MAX(D$3:$D3)+1,"")  =IFERROR(INDEX(A:A,MATCH(ROW()-3,$D:$D, )),"")この表をシート2に表示する方法

  • ExcelのSMALL関数について

    ExcelのB列(B2:B50)にフラグ「0」または「1」が入力されています。 フラグ「0」が入力されている行番号を関数を使用して取得したいと思っています。 B列のフラグは順次更新されており、フラグ「0」の個数は複数あります。 下記の関数式(以下多めにオートフィル)で上記のことができるようになったのですが、 =IF(COUNTIF(B$2:B$50,0)<ROW(A1),"",SMALL(INDEX((B$2:B$50<>0)*10^5+ROW(B$2:B$50),),ROW(A1))) SMALL関数式の部分↓↓の意味がよくわかりません。 SMALL(INDEX((B$2:B$50<>0)*10^5+ROW(B$2:B$50),),ROW(A1)) どなたかご教授いただけないでしょうか。

  • ExcelのHLOOKUPに類似した関数はないですか?

    現在、Excelにて、 O列からT列までのセルに、本日行った作業に○をつける表を作っています。 (○は1行に対して必ず1つです。) 例)   A・・・N    O      P     Q     R     S     T 1       配置図 平面図 立面図 展開図 矩計図 鳥瞰図  2 8/1      ○ 3 8/1                  ○ 4 8/2                               ○ 5 8/2     0.3 6 8/3     0.7 7 8/6            ○ ・ ・ 101 係数    1      2     3     4     5     6 という感じなのですが、別表に     A   B   C   D   E    1      8/1  8/2  8/3  ・  ・ 2 配置図  1  "0.3"  "0.7" ←これがチャント表示されるようにしたい! 3 平面図   4 立面図  1 5 展開図 6 矩計図     1 7 鳥瞰図 となる表を作成し、前表の101行目の係数に対して =IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"") という式を入れ、 その係数と日付を DSUMを用いて別表のB2に1 を入れたり、B4に1を入れたり... となるように作ったのですが、 (○は1と同じ意味です。図面が1枚完成すれば○としたものです。) しかし、1日では完成しきらなかった図面は小数点で入れるということになり、 前表の5,6行目のように、 0.1~0.9の何が入るのか分からない為、○に対するHLOOKUP関数では 処理出来なくなったのです。 長々と書き分かりにくくなっちゃいましたが、 AA1=IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"") を入れたとして、 AA5の場合 AA5=IF(COUNTA(O2:T2)=1,HLOOKUP("○",O2:T101,100,0),"")                           ↑ここが0.3でないと係数が帰らない。 しかし、いつも0.3とは限らない為、それに変わる言葉、 もしくは、 HLOOKUPに変わる何か良い関数は無いでしょうか?

  • EXCEL関数教えて下さい。

    A1、B1にランダムに変化する数があります、C列に適応した数を自動表示させたいです。 A1 総数 B1 1箱単位の数 C列表示ラベル  と=IF($A$2-($B$2*(ROW()-1))>=$B$2,$B$2,IF($A$2-($B$2*(ROW()-1))<1,"",$A$2-($B$2*(ROW()-1)))) と言う事で他の方から教えて頂きましたC列には順番に表示されました同じ内容でランダムなセルG7,I7,G12,I12,G17,I17にも表示させるには、どうしたら宜しいでしょうか教えてください宜しくお願いします。

  • 【EXCEL】空白でないセルの位置を検索したい

    初めまして。 EXCELの関数を利用して、 下記のようなことをしたいと思案中です。  A B C D E F 1* 1   2   3 2* 1   2 3 3 3* 1   2    4* 1   2 3 3 *が計算式を挿入したい箇所です。 各行の最初のブランク位置を検索したいです。 ブランクの個数は不定ですが、 B~Fのセルに入れるデータは全て数値です。 MATCH関数を使い、MATCH("",B3:F3)のようにしても、 #N/Aとなってしまいます。 何か良い方法はないでしょうか? ご教授頂けますようよろしくお願い致します。

  • Offset indirectなどの使い方(Excel関数)

    次のような関数に直面しました。 =IF(OFFSET(INDIRECT("'ef="&$A$1&"'!B2"),ROW()-2,COLUMN()-2)="","",OFFSET(INDIRECT("'ef="&$A$1&"'!B2"),ROW()-2,COLUMN()-2)) この関数全体の解説もしていただきたいのですが, 'ef=の'の使い方、!の使い方、ROW()-2の部分などにも 多少、説明を加えていただけると助かります。 なにか私のほうで情報提供が不足していれば教えてください。

専門家に質問してみよう