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

こんばんは。

例えばですが
Sheet1,Sheet2,Sheet3 というシートを作ったとします。
このときに,
4枚目のシートには,それぞれを一覧にして表示したいと思います。

どういうことかといいますと
Sheet1~3はそれぞれ同じフォームです。
例えば番号がA1に1,2,3とそれぞれ入っていて
A2に名前を・・・Aさん,Bさん,Cさんと書くとします。

このときに,4枚目のシート(仮に「一覧」というシート名にします)では
A1に1,B1に2,C3に3
A2にAさん,B2にBさん,C2にCさんというように
各シートの同じ場所のデータを表示させたいのです。

ここで私が知っている方法としては
一覧シートのA1の部分で「=Sheet1!$A$1」などと入力する
又はシートをクリックする形で連動表示させる方法があります。

ただ,この方法ですと
連動する回数だけ関数を入れなければなりませんよね。
例えば今回の場合はそれぞれのシートごと(Sheet1)の情報が
縦列につながっているので
ひとつのシートから1個連動させたらあとはコピーしていけば
順番に連動はされると思います。

ただ,この方法では,もし連動させたいセルが離れている場所の場合,
ドラッグするだけでは全然違う情報が連動されています。

各シートから一覧シートに引っ張ってくるセルの場所は同じですが
それが全部順番につながっているわけではありません。

結局,一覧シートでSheet1を上手にひとつずつクリックで連動させたあと,
連動させた範囲を選択して,右にドラッグすると
同じようにSheet1の連動になってしまいます。(セルの場所は良いのですが)

なので,連動の式の「Sheet1!」の1の部分を2に変えることで
とりあえずSheet2の連動に変化させている状態なのですが
もっと簡単な方法はないのでしょうか。

連動してくるシート名自体をセル参照させることはできないのでしょうか。
やはり連動してくるシートの名前自体を式で指定することはできないのでしょうか。


大変分かりづらい説明で申し訳ございませんが
補足はしっかりさせていただきますので
どうかよろしくお願いいたします。

A 回答 (2件)

Excelの使い方や機能の中に「連動する」というものはありません。


「参照する」だけです。些細なことのように思うでしょうが、Excel
の考え方を決定的に誤解するキーワードです。

まずは、各列の1行目に参照したいシート名を列挙します。Sheet1、
Sheet2…。で、これまで「=Sheet1!A4」と書いていたところを「=
indirect(A$1&"!A4")」と書き換えます。これならフィルハンドルで
隣の列に複製した場合でも1行目に書いてあるシート名を参照するの
で、ご希望に近くなるでしょう。

でも、何でもかんでもExcelという思い込みを捨ててファイルメー
カーなど普通のデータベースに移行していれば、表示レイアウトを
切り替えるだけで一覧表示出来るんですけどね。
    • good
    • 1
この回答へのお礼

こんばんは。ご回答くださりありがとうございます。

「参照」と「連動」
あまり深く考えずに用いていました。たしかに正式には「参照」ですね。
しかし区別が厳密でない時点で,
Excelの本質を理解していないのかもしれません。
今後学習が必要な点ですね。

私のつたない説明に対し,適格なご指導をありがとうございました。
教えてくださった方法を試したところ
思い通りの集計表を作成することができました。
フィルハンドルを使った(これも正式名称を使わずすみません)コピーでも
1行目に書いてあるシート名を参照してくれたのでうまくいきました。
ありがとうございました。

ファイルメーカーというソフト自体は知っているのですが
持ち合わせていなかったことと,
どんなことができるかはっきりとわからなかったため
とりあえず持っているExcelでできるのではないか!?
と思ったのです。
実際にできたので勉強にもなったし,結果満足です。
ただ,今後はそういった他のソフトの使用も
考えていかないといけないとは思います。

ありがとうございました。

お礼日時:2007/12/13 00:05

具体的に何をしたいのかよく分かりませんが


Sheet4のA1セルから下へ
 Sheet1!A1
 Sheet2!A1
 Sheet3!A1
 Sheet1!A2
 Sheet2!A2
 Sheet3!A2
 Sheet1!A3
 Sheet2!A3
 Sheet3!A3
などと参照させたいのでしょうか。

であれば、INDIRECT関数やOFFSET関数を使用してはいかがですか。
 INDIRECT("Sheet"&MOD(ROW()-1,3)+1&"!A"&INT((ROW()-1)/3)+1)
とすることで上記のような参照が可能です。


>ただ,この方法では,もし連動させたいセルが離れている場所の場合,
>ドラッグするだけでは全然違う情報が連動されています。
これが何を言っているのか全く分からないのですが、
参照先に何も入力されていないと "0" が表示されると言っていらっしゃるのでしょうか。
であれば、あとからまとめて削除可能です。

A列の "0" を削除するのであれば、A列を選択して
[編集]→[検索]→【オプション】→【検索する文字列:0】【検索場所:シート】【検索方向:行】【検索対象:値】→[すべて検索]
結果が検索ウインドウの下に表示されますので、全部選択してください。
(一番上を選択して、一番下をShiftキーを押しながらクリック)

これで該当するセルが選択されます。
検索ウインドウを閉じて、DELキーを押せば一瞬にして綺麗に消えてくれます。
    • good
    • 0
この回答へのお礼

こんばんは。
私の下手な文章にお付き合いくださりありがとうございます。
大変参考になる内容をありがとうございました。

何がしたかったかと申しますと
シートを参照するときに「Sheet1」の1を,2,3と
自動的に変えられないものか,
もしくは集計するときに1,2,とあたまに番号をつけたら
自動的にその番号の各シートを表示してくれないかなと思ったのです。
自分の想像で,集計シートの1列に1,2,3と番号をつけて

=Sheet3!A4 とクリックで作った式を

=SheetA1!A4 という感じで変えてもエラーになったのが
質問をさせていただいた理由です。

・・・またもや分かりづらい説明ですみません。
0削除の方法も大変参考になりました。
もっと関数の勉強をしていかなければいけないと感じました。

ありがとうございました。

お礼日時:2007/12/13 00:00

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