[[20110524102556]] 『同一フォーマットの複数シートあるデータを1シーメx(ドキン) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同一フォーマットの複数シートあるデータを1シートにまとめる』(ドキン)
 同一フォーマットの複数シートあるデータを1シートにまとめたいのですが、
 類似 
[[20040712163424]] を参照し、シート名はなんとか数式で表示できましたが、
 特定セルの内容の式がわかりません。

 sheet1、A1,B5,B6はいずれも文字列データです。

 最終的に下記のような表にならんだ表として

      A          B     C
 1  sheet1のA1 sheet1のB5 sheet1のB6
 2  sheet2のA1 sheet2のB5 sheet2のB6
 3  sheet3のA1 sheet3のB5 sheet3のB6 
 4  sheet4のA1 sheet4のB5 sheet4のB6
 〜 
 x    sheetxのA1 sheetxのB5 sheetxのB6

 となるようにしたいのですが、どのようにするとよいでしょうか?
 Excel2007/2010、WinXPです。
 どなたか教えてください。マクロでしたら、初心者向けにご指導願います。

 ん? 
[[20040712163424]] に書いてあると思うけど。(今、見てきた)

 >シート名はなんとか数式で表示できました

 そのシート名が、たとえば D列にセットされているとすれば
 A1に =INDIRECT(D1&"!A1")	B1に =INDIRECT(D1&"!B5")	C1に =INDIRECT(D1&"!B6")
 で、それを下にコピーして引っ張る。

 ぶらっと立ち寄り

 ぶらっと立ち寄り様、ありがとうございます。
 〜そのシート名が、たとえば D列にセットされているとすれば〜 
 の理解違いか、
 A1に =INDIRECT(D1&"!A1")	B1に =INDIRECT(D1&"!B5")	C1に =INDIRECT(D1&"!B6") を入れても、「#REF!」となってしまいます。
 どうしでしょうか??

 (ドキン)


 今、式をいれているシートのD1に、たとえばsheet1 と入っていますか?

 ぶらっと立ち寄り

 はい、入ってます(ドキン)

 う〜ん、わからないですねぇ。
 こちらでは全行、該当シートの値がコピーされていますので。
 まさか、D列に入っているシート名が実際のシート名とは異なる、存在しないシート名になっている
 なんてことは、ないんでしょうね。

 ぶらっと立ち寄り

 1.新しいブックを作成して、どこかに保存する。
     シート名が Sheet1 Sheet2 Sheet3 に成っているはず。
 2.シート名を表示する数式を入れる。
 3.それぞれのシートのセルを参照する式を入れる。

 この場合でも、「#REF!」エラーが出ますか?

 その場合は、シート名を表示する数式と
 その式をどのシートのどのセルに入力したか。
 また、入力したそれぞれのシートのセルを参照する数式
 を 書いておかれると良いと思います。

 ↑のテストではうまくいくが、実際のファイルでうまくいかない場合は
 どの様なシート名をつけているのか、具体的に書いておかれると良いと思います。

 これっぽい感じがしないでもないですが。。。
[[20100311115923]] 『シート名が数式のシートの一覧表を作るには』(いあ)

 (HANA)

 新しいシートを作ってテストしたらできました。HANAさんありがとうございます。
 実際のシート名はA12345B1234という英数字なのですが、そこが問題でしょうか?
 作業したいファイルでは、「#REF!」エラーが出ます。
(ドキン)

 >新しいシートを作ってテストしたらできました。
 でしたら、そのブックのどれか一つのシートタブに
 「A12345B1234」をこちらからコピーして貼り付け
 シート名を↑に変更してみて下さい。

 私は現在2002の環境ですが、この英数字の並びで有れば
 こちらでは上手く行っています。

 バージョンの問題かもしれません。
 作業したいファイルの問題かもしれません。
 危惧して居られる様に、シート名が問題かもしれません。
 或いは、もっと違った問題が有るのかもしれません。

 >作業したいファイルでは、「#REF!」エラーが出ます。
 シートはいくつか有ると思いますが
 全て エラーなのでしょうか?
 それとも、上手く参照出来るシート名のシートと 出来ないシート名のシートが有りますか?
 有る場合は、実際に どの名前はOKでどの名前がNGでしょう?

 実際のシート名を載せられないなら
 似たようなシート名を作製、確認し
【エラーに成る例】と【エラーに成らない例】を
 挙げてみて貰うと良いかもしれません。

 作業したいファイルにシートを一枚追加して
   Sheet○ と言った名前に成るはず。
 そのシートを対象にして、シート名を表示させ
 INDIRECT関数を使ってセルを参照させた場合も上手く行きませんか?

 思いつく色々な事をやってみて、問題点を探って行く必要が有ると思います。

 (HANA)

 作業したいファイルから「A12345B1234」1シートを新しく作った(参照できた)ブックに追加してみますと、やはり、「#REF!」エラーが出ます。
 同じブック上に新しいシートを作り、「A12345B1234」1シートのデータを値のみ貼り付けしてみると、「#REF!」エラーは出ず、目的の文字列が表示できました。
 どういうことでしょうか?(ドキン)

 すみません、シート名は「A 12345B1234」でした。Aのあとに半角スペースが入っているのが問題でしょうか?
 シート名を「A 12345B1234」に変えたら再度「#REF!」エラーです。
(ドキン)

 怪しいと思うことは、確認してみなくちゃ分かりません。

 参照出来たファイルの参照出来ているシートのシート名を「A 12345B1234」に変えると
 今まで参照出来ていたのに、急に「#REF!」に成りますね?

 例えば、「Sheet2」と成っているシート名を「Sheet 2」の様に
 半角スペースを使った物にすると、「#REF!」に成ります。

 するとやっぱり、半角スペースが問題の様です。

 参照した過去ログと、似てきた感じになりましたね。

 「A 12345B1234」シートのA1セルを 「=」で参照してみて下さい。
   最初のシート(一覧を作るシート)のどこかのセルに「=」を入力
   Enter を押す前に 「A 12345B1234」シートのA1セルを選択し、Enter で確定。

 すると、数式は ='A 12345B1234'!A1 の様に
 シート名の前後が「'」で囲われます。

 INDIRECT関数で指定する場合も「'」で囲ってみて下さい。

 (HANA)

 HANAさん、ありがとうございました。 
 A2に下記式を入れ、3行目以降もコピーでうまくできました。
 =INDIRECT("'"&D2&"'!A1")
 シート名に含まれる文字が数字とスペースならこれで問題なさそうですが”-”のときは難しそうですね。
 (ドキン) 


 シート名を「'」で挟んで参照するのは
 「'」が必要ないシート名に対して行っても問題は無いので
 とにかく挟む(いつでも前後に「'」を加える)ことにしておくので
 良いのではないかと思います。
   とはいえ、よっぽど痛い目に遭わないと うっかり忘れちゃうんですけどね。。。

 (HANA)

 そうですね。HANAさん、ありがとうございました。 
 (ドキン) 

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.