• ベストアンサー

エクセルの結合したセル

こんにちわ。 上下に結合したセルがAの列に並んでいます。A1、2で一つ、A2、3で一つというふうに。 そこに日付が入っています。 Bの列も同様にあり、そこには文字列が入っています。 それらを一つのセルにまとめたものを別のシートに作ろうと思いました。 文字列と日付なので&とTEXTを使い、うまくいったのですが、一番上を合わせて、下へスライドコピーしたらデータが飛び飛びになってしまいました。 結合した場合番地が上のセルの番地になります。A1,2なら番地はA1。 なのでA2には何も数値がないので、空白扱いとなってしまいました。 データ量が多いので、できればスライドさせて一気にやりたいのですが、なにかいい方法はありませんでしょうか? 難解な文章で申し訳ありません。。

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

  • ベストアンサー
  • suekun
  • ベストアンサー率25% (369/1454)
回答No.4

ごめんなさい。数式を少し間違えました。^^; =TEXT(OFFSET($A$1,ROW($A$2)*ROW(A1),0),"yyyy/mm/dd")&OFFSET($B$1,ROW($A$2)*ROW(A1),0) B列の参照を間違えてましたね。 さて、折角再び戻ったので、少しだけネストの解説しておきます。 まずは頭に来るのが、TEXTですね。 日付を参照して日付として表示したいのですからね。 この時、TEXTとして表示する対象のセルが、OFFSETで指定した 行飛びのA列ですよね。 だから=TEXT(参照先のセル,表示形式) =TEXT(OFFSET($A$1,ROW($A$2)*ROW(A1),0),"yyyy/mm/dd") となります。

Armadillo5
質問者

お礼

なんどもご丁寧に有難う御座います! なんとかできました!ほんまにありがとうです!

その他の回答 (3)

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.3

最初に提示した関数はA列の行飛び参照ですよね。 ですから、=OFFSET($A$1,ROW($A$2)*ROW(A1),0)の最初の 引数、$A$1 を $B$1に変更すればB列の行飛び参照が出来ます。 さて、TEXTをどう利用されているのはわかりませんが、 A列が日付なら、 =TEXT(OFFSET($A$1,ROW($A$2)*ROW(A1),0),"yyyy/mm/dd") となります。 B列はそこにそのまま&をつけて &OFFSET($B$1,ROW($A$2)*ROW(A1),0) で可能でしょうか? 繋げると =TEXT(OFFSET($A$1,ROW($A$2)*ROW(A1),0),"yyyy/mm/dd")&OFFSET($A$1,ROW($A$2)*ROW(A1),0) となります。 PS:日付の書式はご希望に合わせて変更してください。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

OFFSETで参照します。 二行目から =OFFSET($A$1,ROW($A$2)*ROW(A1),0)

Armadillo5
質問者

補足

まさにこれです! でも、これから&関数をどう入れるのかわかりません。 やってみたのですが、エラーになってしまいます。 =A1&B1を頭につければいいのでしょうか?

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

飛び飛びになったデータの列を選択状態にして、オートフィルターをかけて、空白セルを選択して、削除しちゃって下さい。

Armadillo5
質問者

補足

早急なのご返信有難う御座います! 今やってみたのですが、行の削除しかなく、他の列のその行も消えてしまいます。必要なデータが他の列にあるので、そのフィルタ列内の空白のみを消したいのですが、できますでしょうか?