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

お世話になります。

あまりエクセルに詳しくないのですが、データをエクセルで表にまとめなくてはならなくなりました。
データは複数シートでまとめています。
Sheet1にすべてのもととなる名簿をまとめ、このシートを更新すると他のシートにも自動的に反映するようにしたいと考えています。
その方法として、「=Sheet1!A1」などと入力して反映させようとしていたのですが、複数あるシートのうち何枚かは反映させたい部分がセルの結合されており、上記のようにするとひとつ飛ばしに反映されてしまいます。

例:
【sheet1】
1 Aさん
2 Bさん
3 Cさん
4 Dさん
5 Eさん
6 Fさん

【sheet2】
1
  Aさん
2
3
  Cさん
4
5
  Eさん
6

わかりにくいですが、このような感じです。
sheet1を無理やりセルの結合させることも考えたのですが、私以外の者も表を扱うこととなるためなるべくシンプルにしたいと思い断念しました…。

セルの結合はそのままで、Sheet1に入力した内容を他のシートに反映させる方法はありますでしょうか?

似たような質問も検索してみたのですが、関数?など複雑なものが多く、よく理解できませんでした。(平均値や標準偏差など簡単な計算はしたことがあるのですが、複雑なものは未経験です。)
わがままを言って申し訳ございません。
勉強不足でありご迷惑おかけしますが、何卒よろしくお願いいたします。

A 回答 (9件)

>A1とA2をセル結合したあと、Sheet2のA1に


ここでセル結合するのは「Sheet2のA1とA2」です。

=INDIRECT(ADDRESS((ROW()+1)/2,1,4,TRUE,"Sheet1"))
の式の意味が知りたかったら
=(ROW()+1)/2
とか
=ADDRESS((ROW()+1)/2,1,4,TRUE,"Sheet1")
とか
=ADDRESS((ROW()+1)/2,2,4,TRUE,"Sheet1")
とか
=ADDRESS((ROW()+1)/2,3,4,TRUE,"Sheet1")
とか
=INDIRECT("Sheet1!A1")
とか
=INDIRECT("Sheet1!A2")
とか
=INDIRECT("Sheet1!B1")
とかって式を書いてみて「結果がどうなるか?」を見てみましょう。
    • good
    • 0
この回答へのお礼

ご丁寧に説明してくださりありがとうございました。
ご提示くださった式を入れて試行錯誤してみたところ、希望していたような形にすることができました!
本当にありがとうございます。

お礼日時:2008/06/09 15:12

> もととなるシートの反映したい部分は「R3C3」と表示されます。



[ツール]-[オプション] の「全般」タブで、"R1C1参照形式を使用
する" のチェックを外してみてください。
    • good
    • 2
この回答へのお礼

できました!
3時間ほど、ああでもないこうでもない…とやっていたのですっきりしました。大変勉強になりました。
最後までお付き合いくださりありがとうございました。

お礼日時:2008/06/09 17:16

#4です。



シート名:Moto
   A
1 Aさん
2 Bさん
3 Cさん
4 Dさん
5 Eさん
6 Fさん

シート名:Hanei
A2とA3、A4とA5、A6とA7 が結合されているとします。
   A
1
2
3
4
5
6
7

シートHanei の A2:A7 を範囲選択状態にして、数式バーに
=INDIRECT(ADDRESS(COUNTA($A$1:A1)+1,1,,,"Moto"))
で、[Ctrl]を押しながら[Enter]

エラーになりますか?
    • good
    • 0
この回答へのお礼

ご丁寧に教えてくださり、ありがとうございます。
教えていただいた方法は図などがあり大変わかりやすかったです!
…が、残念ながらまだエラーがでてしまいました…。
実際のシートでは、もととなるシートの反映したい部分は「R3C3」と表示されます。これが原因かと思うのですが、なにぶん知識、経験共に不足しており自分にはとても高度だったようです。わざわざ何度もお応えくださったのに申し訳ありません。もう少し、自分なりに勉強してチャレンジしてみます!
本当にありがとうございました。

お礼日時:2008/06/09 16:41

#1=#6です。



#6での回答で、" "の間はスペースが10個程入っていますが、投稿するとスペースが1つだけになってしまいました。適当に増やして2行にわたるように調整してください。

補足ですが、どうせ反映させるならセルの結合を解除した方がやりやすいのではないですか?
結合したままにこだわるのは何故なのでしょうか?
    • good
    • 0
この回答へのお礼

ご回答、ご提案ありがとうございます。
確かにセル結合しない方がやりやすいですし、できればそうしたいのですが…。
実は、アンケート結果をまとめる作業なのです。
データをまとめる上で
(1)もととなる名簿(それぞれの人物の特徴などが書いてあります)のシート
(2)アンケート結果(数字で答えるもの)を計算するシート
(3)数字以外のアンケート結果と、アンケートの数字部分を計算した結果をまとめたシート

これら3枚のシートで1セットとなり、これが何セットか必要なのです。
そして、問題のセル結合は(2)シートで、結合したセル(結合は人物の名前部分)の右の上段からは生データの一群、その右には生データの平均値など計算したデータの一群をいれてあり、その下段に生データの計算値をさらに計算した値を入力しまとめています。

【イメージ】
          上段 生データの一群   上段 生データの平均値など計算値の一群
人物名
(セル結合)
          下段 ブランク       下段 生データ計算値をさらに計算したものの一群

このアンケートは同一人物で何度も行うため、項目の量が膨大で横に伸ばしていくと限界がくるのですが、集計のこと(フィルタを使おうと考えています)を考え、人物の名前は縦に配置しアンケート項目は横に配置せざるをえないと考えています(もっと上手なやり方もあるかもしれないのですが…)。

そのため、横に伸ばすのは最小限にしたいと考えセルの結合を行いました。かなり複雑でうまく説明できず申し訳ありません…。
取り急ぎ、セル結合の理由を述べさせていただきました。

お礼日時:2008/06/09 15:58

#1です。

補足ありがとうございます。

Sheet2!A1=concatenate(Sheet1!A1," ",sheet1!A2)
セルの書式設定 - 配置 - 折り返して全体を表示する にチェック

以上で見かけ上は各セルに表示させたようになりますが、あくまでも「見かけ上」です。実際には結合されて1つのセルなので、「結合されたセルそれぞれに」入力すると言う発想は不可能だと思います(不可能だと断言したいですが、マクロを駆使して出来るのか、実際にやったこと無いのでわかりません)。

もしセルの幅がかなり大きい場合は、" " のスペースの部分を長くしてください。

※Excel2007で実証しました。
    • good
    • 0

#4の訂正です。



> 反映させたい範囲(例 A1:A20)
は、
反映させたい範囲(例 A2:A20)
の誤りでした。
1行目は空白で選択範囲は2行目以下でないと、正しく表示されません。
    • good
    • 0
この回答へのお礼

説明がわかりにくくなってしまい申し訳ございませんでした。
misatoanna様がおっしゃる後者「2セルずつ結合されているシートと、結合なしのシートが混在」の方です。
ご提示くださった式を入れてみたのですが、どうしても「入力した数式は正しくありません」とでてしまいます。私のやり方や、範囲の指定の仕方が原因かもしれないのですが…。シート名を変えているため、式中Sheet1の所にはそのシート名を入れました。

お礼日時:2008/06/09 15:23

> 複数あるシートのうち何枚かは反映させたい部分がセル結合されており



・反映させたい範囲に、結合されたセルと結合されていないセルが混在。
または
・2セルずつ結合されているシートと、結合なしのシートが混在。
ということでしょうか。

混在するのでしたら、どちらにしても、反映させたい範囲(例 A1:A20)を
選択して、次のような式を入力し、[Ctrl]+[Enter] はいかがでしょうか。

=INDIRECT(ADDRESS(COUNTA($A$1:A1)+1,1,,,"Sheet1"))
    • good
    • 0

要は


Sheet1!A1 : Sheet2!A1(A2はA1にセル結合されている)
Sheet1!A2 : Sheet2!A3(A4はA3にセル結合されている)
Sheet1!A3 : Sheet2!A5(A6はA5にセル結合されている)
   ・
   ・
   ・
と言う対応にさせたい訳ですね?

A1とA2をセル結合したあと、Sheet2のA1に
=INDIRECT(ADDRESS((ROW()+1)/2,1,4,TRUE,"Sheet1"))
と書いて、下方向にセルのコピーをしてみましょう。
    • good
    • 0

補足願います。



【sheet1】
1 Aさん
2 Bさん
3 Cさん
4 Dさん
5 Eさん
6 Fさん
【sheet2】
1
  Aさん
2
3
  Cさん
4
5
  Eさん
6

この場合、sheet1のBさん・Dさんをどのようにsheet2へ反映させたいのでしょうか。
Sheet2の結合された中へAさんBさんと表示すればいいのか、それとも他の事がしたいのか。

先の方法ならA行として、=concatenate(Sheet1!A1,sheet1!A2)でOKです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
説明不足で申し訳ございません。
Sheet2の結合されたセルそれぞれに、Aさん、Bさん、Cさん…と、自動的に入るようにしたいと考えております。

お礼日時:2008/06/09 14:38

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A