• ベストアンサー

エクセルの関数に関する質問ですが

1セルに数字を1つずつ空白セルも含んで入力した際に 下の行に空白を含まずに横一列に並ばせるには どのような関数にすれば良いでしょうか? 具体的にやりたいことは(□は空白セルになります。) 34□56□7 と入力したら下の行に 34567 のように空白セルを除いて 横一列に表示させたいのです。 どうぞよろしくお願いします。

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

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

次の数式をお試し下さい。 配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 仮にA1:G1にデータが入力されているとしています。 A2に=IF(COUNT($A1:$G1)>=COLUMN(),INDEX($A1:$G1,,SMALL(IF($A1:$G1="",999,COLUMN($A1:$G1)),COLUMN(A1))),"")を設定し、右方向にコピーして下さい。

trotstar
質問者

お礼

うまくいきました。 どうもありがとうございました。

その他の回答 (6)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.7

◆こんな方法もありますよ =MID($A$1&$B$1&$C$1&$D$1&$E$1&$F$1&$G$1,COLUMN(A1),1) ★右にコピー

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.6

リアルタイムでなくて良いなら、 エクセルのメニュー操作で簡単にできますよ。 1)34□56□7を下の行にコピー&ペースト 2)下の34□56□7を選択し、「編集」→「ジャンプ」   「セル選択」ボタンを押して、「空白セル」にチェックして「OK」 3)「編集」→「削除」   「左方向にシフト」をチェックして、「OK」 ------------------------------------------------------- マクロだとこんな感じです。 標準モジュールに登録して、 34□56□7を選択して、実行すると 下の行に空白を削除し表示 Sub test()  Selection.Copy  ActiveSheet.Paste Destination:=Selection.Offset(1)  Selection.Offset(1).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft End Sub

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

データー区切り位置ー次ぎへースペースー完了 のことかな。 1つのセル(例えばA1)に 34□56□7 と入力する。 そして範囲指定して、上記の操作をすると A1=34、B1=56,C1=7が入る。

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.3

こんにちは VBAですれば簡単ですが関数となると#1さんのを工夫すれば可能かと思いますよ。 努力してみてください。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

=A1&B1&C1・・・ では駄目なのでしょうか?

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

全角の空白なら =SUBSTITUTE(A1," ","") 全角空白、半角空白混在なら =SUBSTITUTE(SUBSTITUTE(A1," ","")," ","") ただし結果は文字列(左詰)になります。 これを数値にしたいなら =SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")*1

trotstar
質問者

補足

日本語が下手で申し訳ございません。 私がやりたいのは 一つのセルに何文字も表示させるのではなく 一つのセルに1文字ずつ表示させる、つまり 以下のようにしたいのです(ABCは列、12は行になります)   ABCDEFGH 1 456□4□5 2 45645 どうぞよろしくお願いします。

関連するQ&A

  • エクセルの質問です。

    1つのセルに1つずつ数字を入力行って行ったときに 下の行に重複するものを除いて一列に表示させるには どのような関数式にすれば良いでしょうか? 具体的にしたいことは 7 16 11 2 3 7 11 7 16 11 2 3 のようになります。 どうぞよろしくお願いします。

  • エクセルの関数に関する質問です

    エクセルで 1行目に数字4つ(1列に数字1つずつ)と 2行目に数字4つ入力した際、 1行目と2行目で重複していない数字を それぞれの行の5列目以降に表示させるには どのような関数にすれば良いでしょうか? 具体的に何がしたいというと 例えば 2 4 5 6 3 5 4 7 と入力した場合 2 4 5 6 3 7 3 5 4 7 2 6 と表示させたいのです。 どうぞよろしくお願いします。

  • エクセル関数を使って曜日表示

    エクセルのセル上に左から1~31まで数字を入力しています。 そのしたの行に、曜日を表示したいと思っています。 具体的には、○年○月というところに今の月を入力すれば、数字下のセルに曜日が表示されるものなんですが、関数をどのように使えばいいかわからなくて困ってます。 知っている方がいたら教えてください。

  • Excel関数について

    Excel関数について質問です。 以下の二つ (1) 下のように、セルA1から入力されてるものを、1、2、3・・と数字順に並び替える良い方法はありますでしょうか。 A-1 A-10 A-10A A-100 A-2 A-20 A-22.5 ・ ・ A-555 ・ ・ (2) 一行目と二行目に値の入ったセルと空白セルが混在しています。どちらも同じものに対する値の為、一行目にまとめようと、一行目の空白セルに二行目のセル(下)に値がある場合はその値を返し、空白の場合は空白のままにするというIF関数を使いましたがうまくいきませんでした。三行目と四行目、五行目と六行目・・とかなりあります。良い方法を教えていただけますでしょうか。 よろしくお願いいたします。

  • EXCELで同じ数字が入ったセルを空白にする方法。VLOOKUP関数。IF関数。

    お世話になります。 エクセルで 00101 00101 00102 00102 00104 00103 00103 00105 と二列の文字が並んでいます。 このうち左と右の数字が同じものを空白にする関数があれば式を踏まえて教えてください。 上の例で言いますと 00104 00105 以外を空白にする方法です。 一番左上のセルを一列目の一行目と考えてください。 よろしくお願いします。

  • Excelの関数

    日付を入力する行の空白でない最下段のセルを見つけて、その日からたとえば50日後の日付を表示させるような関数は作れますか?

  • エクセルの関数を教えてください

    エクセルの関数を教えてください。 あるセル(列単位です)に数字8ケタが入っていたら隣のセル(列)に◎◎◎(任意に設定)と表示されて、なにも入力されていなかったら空白表示にしたいのですがどうすればいいでしょうか?

  • エクセルの関数で

    仮に 1 3 5 7 9 2 4 6 8 10 というような表があるとします(数字は各セルごとです) 別シートのある箇所に「1」と入力すると、その横にセルごとに 3 5 7 9 と表示され、1の箇所に2と入力すると2 4 6 8 10と 表示させるにはどうすれば良いのでしょうか?関数で出来るのでしょうか。 宜しく御願いします。

  • エクセル関数で

    エクセル関数を使っての入力方法についてお聞きします。 セルA1が空白の時はC5,D10に空白を,セルA1が1の時はC5,D10には1を入力させるようにするにはどうしたらよいのでしょうか? (あるセルを基準に、そのセルが空白の時は複数選択したセルにも空白を、数字が入っている時は同じ数字が入るようにしたいのです) どうぞよろしくお願いします。

  • エクセルの関数について誰か教えてください。

    エクセルの関数について誰か教えてください。 シート1のI3からP550までのセルに、記号や文字などのなにかデータの入力があれば、そのデータ入力があった横のセル1行全部のデータをシート2のA4のセルに表示させる方法を教えてください。 例えば横のセル3のI3からP3のセルどれかに何かデータ入力があれば、横のセル3のA3からP3までのデータをシート2に順に表示。横のセル4のI4からP4のセルどれかに何かデータ入力があれば、横のセル4のA4からP4までのデータをシート2のセル3のデータの下に順に表示させていきたいのです。 シート1のI3からP550までのセルにデータ入力がないものは対象外として、シート2にも表示はしない形にしたいのです。 よろしくお願いします。

専門家に質問してみよう