• 締切済み

エクセル2013 シートのデータ読み込みで

エクセル2013 あるBookにシートが複数枚あります。 各シートのL1に氏名が入力されていたら、他のセルのデータを氏名とともにシート40にある幾つかのセルに読み込みます。 氏名が入力されていないと、シート40の氏名その他のデータが「0」になってしまいます。 氏名が入力されていない場合は、シート40のセルが「0」ではなく「空白」にしたいのですが 方法を教えてください。

みんなの回答

回答No.6

横から失礼。 セルを右クリック   ↓ セルの書式設定   ↓ 「表示形式」タブの「分類」を「ユーザー定義」   ↓ 「種類」のところに、「#;#;」←全て半角で打つ   ↓ 「OK」 詳細は添付図を参照されたし(2010の絵ですが、ほぼ同一です。) これでも >>セルが「0」ではなく「空白」に できます。 ちょっとだけ解説。 数値の表示形式をユーザー定義するときは概ね 「正の場合;負の場合;0の場合;文字列の場合」とザックリ覚えましょう。 それぞれを;(セミコロン)で区切ってやるだけです。 今回は「0の場合は空白」なので、 #(正の場合);#(負の場合);空白(0の場合) と言う風に、3個目を空白のままにしてやります。 (4個目、文字列の時は加工しなくても大丈夫そうなので  セミコロンも含めて省略しています。) とりあえずご参考までに。

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

#3です。補足いただいたが、私のアドバイスに、正しく反応していない。 質問のことはすでに回答は出ている。 しかしこの先、こういう例を解決することを求められるのではと思っただけ。 下記が難しいとか、本件質問に関係ないと思えば以下を無視して。 こちらの方こそエクセルの有名トピクス。 今回は質問者のケースには必要ないかもしれないが。 http://hamachan.info/win7/Excel/kushi.html など参照。 例で挙げてみよう。 4月試験 シート A1:C4 氏名 英語 国語 A 23 34 B 31 41 C 40 26 5月試験 シート A1:C4 氏名 英語 国語 A 25 41 B 27 23 C 36 36 6月試験 シート A1:C4 氏名 英語 国語 A 18 33 B 34 37 C 27 41 -- 上記の3シートはセルの構成が同一であるものとする。 3か月の各生徒の科目別合計を、関数でだしたい。 ーー 3か月合計シート のB2に =SUM('4月試験:6月試験'!B2) トイレて縦横に式を複写する。 (こういうシートを参照する場合もあるよ。シングルクオートで両方を囲むケース。) ーー 結果 3か月合計 シート A1:C4 氏名 英語 国語 A 66 108 B 92 101 C 103 103

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.4

[No.2お礼]へのコメント、 》 参照するシート番号が26なら…でよいのですか。 あ~、分かってないなぁ~! 「参照するシート名が Sheet26 なら」に置き換えれば、ソレで好いのです。 何か困ったことでも?

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

質問の内容が正確に伝わらない。 >各シート というからには複数シートのL1セルを問題にするのだよね。 =シート名!L1 シート名は!の前の部分で表す で、>各シートのL1セルは表せる(値を参照できる)。そして空白かどうかはIF関数で判別したらしまい。こんなことは初歩的なことで、聞くまでもない内容。 他シートのセル参照を、今までやったことがないなら、質問する理由は判る。 すでに回答も出ている通り。 ーー しかし、むつかしいのは、次のシートを対象にして、同じような式を入れるとき、式を入れるセルはどう決まるのか。質問者が終り行を判定して、目視で、次のセルに式を入れるので、質問には含まれていないのか。 普通は、同一シートの次のセルに入れる式の関数は、式の複写をすると、セルの番地が変化するが、それを使ってやる。 しかしシート(というかシート名は)複写で次のシートを参照するのは、一工夫しないとむつかしいのだがその点はどう考えているの?。 各シートのL1セルごとに、質問者が式を手打ちするのなら、この議論はいらない ーー 私の心配していること シート1 A1=2 シート2 A1=23 シート3=A1=12 とデータがあるとして シート4のA1=2、A2=23、A3=12 のように、シート4のA1の式をA2,A3への「式の複写」で、データを持ってくる式が一工夫が必要で、むつかしいのだが、考えなくてよいのか。 ・シート名の 初めからの工夫や、別途定義 ・INDIRECT関数利用など

yken33
質問者

補足

エクセルは極々初心者で、質問がわかりにくくてすみません。 シート1からシート38まで個人のデータが入っていて、各シートのL1に 氏名が入力されています。 シート40は、シート1から38までの集計です。 現在、シート28以降は氏名などのデータが入っていません。 そのため、シート40の途中から氏名の欄に0が表示されています。 この0を表示しないで、空白にしたいのです。 よろしくお願いします。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

=Sheet_n!L1&""

yken33
質問者

補足

ありがとうございます。もし参照するシート番号が26なら =Sheet26!L1&""   でよいのですか。

  • polcano
  • ベストアンサー率50% (4/8)
回答No.1

関数で参照しているのならば IF関数で出来ます。 =IF(L1="","",L1) 一番簡単な方法ですがこれで良ければ。

yken33
質問者

補足

ありがとうございます。 別のシートで読み込むのですが、シート番号の指定はどうするのでしょう。

関連するQ&A