ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ホーム > コミュニティ > PC、インターネット > Excel(エクセル)活用 > トピック一覧 > Excel雑談2

Excel(エクセル)活用コミュのExcel雑談2

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コミュ内全体

>皆さんは如何ですか? フリートークで行きま〜す
http://mixi.jp/view_bbs.pl?id=7127197&comm_id=2106
ぼ さんが立てられたトピック、パート2 です。
前トピを引き継ぎ?テーマは設けませんので、フリートークでどうぞ♪

コメント(428)

>>[385]

私も試していませんが、

=OFFSET(INDIRECT("'"&A1&"'!B1",0,0,1,1)

ではどうでしょうか?

これを見ても判りにくいのですが、ようするに、
A1 の前後に、[ ' ] を追加しています。

シート名が数字の時などに、直接別シートを指定したりすると、
勝手に[ ' ] が追加されています。
それと形をあわせてみました。
あ、マリ男さんと被っちゃいました(汗)
こんばんは。
返信ありがとうございます。

結果からいいますと、ダメでした。

■条件
シートの名前が 2017-03

■試したこと

シート1セルA1の書式を文字列にして 参照シート名:2017-03を入力
シート1セルB1=OFFSET(INDIRECT(A1&"!B1",0,0,1,1)

読み出しできない。「2017年3月」ならできる。


シート1セルB1=OFFSET(INDIRECT("'"&A1&"'!B1",0,0,1,1)

読み出しできない。「2017年3月」は試してないです。
この式だと、シート2017-03のシート名「’2017-03」とシート1のセルA「’’2017-03」(←’がこっちにつく)で比較のため?



試しに、以前紹介あった、シートの名前を読みだす関数でシート2017-03 の名前を出してみました。
シート2017-03セルA1=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
↓結果
2017-03(まぁ当然笑)

もともこもないですが、これをシート1セルA1にコピぺしたり呼び出したりして入力

読み出しできない。

以上、経過報告です
>>[391]
「読み出しできない」とはどのような状況でしょうか?
エラーになっているとか、エラーではないが欲しい結果でないとか

通常に「=」を入力して手動で2017-03シートに移動し、B1セルを
選択参照すると式はどうなっていますか?
「='2017-03'!B1」になっていませんか?なっているなら△凌式
(正確には△亮阿任漏膰未凌瑤あっていないのでダメですが)
でいけるはずなのですがね・・・

とりあえず、簡単のために関数をネストせず
参照先シート名「2017-03」
A1セル 2017-03  ←セルの書式:文字列
B1セル =INDIRECT("'"&A1&"'!B1")
ではどうでしょうか?
>>[391]

> シート1セルB1=OFFSET(INDIRECT("'"&A1&"'!B1",0,0,1,1)
これできましたよ?
A1が文字列の「2017-03」でも、「'2017-03」のままでもどちらでもできました。
確認環境は2010です。
あ、式間違ってましたね。
マリ男さんも指摘してますが、B1の式は
=OFFSET(INDIRECT("'"&A1&"'!b1"),0,0,1,1)
です。
あ、私の式がカッコが少なかったですね(汗)

とりあえず、私もカッコの数が合っているのではできましたー(△離僖拭璽鵑如

も、もしかして私のせいかな……
>>[396]
最初提示された式の時点で既に括弧は足りていませんでしたからね・・・
>>[397]

あ、ホントだ。
でも、気付かなかったしなー、昨日の時点で…
ありがとうございます!
もう一度確認します。

INDIRECTの括弧を締めてないのは、記載ミスでしたすみません。
関数エラーは出てなくて、セルA1が文字だったら参照できてたので、そこは間違えてないと思うんですが。


すみません。。。できました。。。

=OFFSET(INDIRECT("'"&A1&"'!b1"),0,0,1,1)
                   ↑
             ここの ' がなかったです
お騒がせしました。
ありがとうございました!
>>[402]

こんな記事がありましたよ。
http://shinfunabashi.jugem.jp/?eid=530
for i = 1 To 10

Worksheets("在庫").Cells(i, 4).Formula = "=INDIRECT(""出庫記録!D8"" & i)"

Next i

在庫シートに出庫シートの値を呼び寄せる関数式を書き込むプログラムを書いているのですが"=INDIRECT(""出庫記録!D8"" & i)"の部分でエラーがでます。どのように書けばいいのでしょうか? どなたか教えてください。よろしくお願いします。
>>[405]
"=INDIRECT(出庫記録!D8" & i & ")"
でどうでしょうか?
>>[406] おぉ!サッソクありがとうございます。会社につきしだい朝1番に試したいと思います。
>>[407]
あ、でも、INDIRECTの使い方わかりませんが、さっきのだとセルに=INDIRECT(出庫記録!D81〜10)?となるのですが、関数的にはこれでよいのですか?
D8にiの値を足したいのであれば
"=INDIRECT(出庫記録!D" & 8+i & ")"
D8の8がいらなくて変数iの値だけで良いのであれば
"=INDIRECT(出庫記録!D" & i & ")"
になります。
関数の使い方わからないのにコメントしてすみませんでしたm(_ _)m
>>[407]
>"=INDIRECT(出庫記録!D8" & i & ")"
だと出庫記録シートD81〜D89,D810に入力されている値を参照文字列として認識すると思いますが、合っていますか?
出庫記録シートD81セルの値が「A1」だとすると在庫シートA1セルを参照すると思いますが。

出庫記録シートのセルを参照するのであれば、セルに入力したときINDIRECT関数の引数が
参照したいセルのアドレスが文字列で指定されていないといけないはずです。

>for i = 1 To 10
>Worksheets("在庫").Cells(i, 4).Formula = "=INDIRECT(""出庫記録!D8"" & i)"
>Next i
>"=INDIRECT(""出庫記録!D8"" & i)"の部分でエラーがでます。
はマクロ的にはエラーが出るようには見えませんが、どのようなエラーが出ていますか?
セル側で「=INDIRECT("出庫記録!D8" & i)」のように入力されて、#NAME?エラーを
出しそうな感じではありますが。(iはセル側では何のことだか分かりませんからね)

セルのほうで#NAME?エラーが発生しているので困っている、ということであれば
文字列の括り方(ダブルクォーテーションの位置)が良くないように思います。
>>[408]  ありがとうございます。 希望してた動きにはなりませんでしたが、 "=INDIRECT(""出庫記録!D" & i & """)")で動かすことができました。 ほんと自分でもちんぷんかんぷんですw
>>[410]  親切ありがとうございます。 エラーメッセージですが、セルに#NAME?と表示されたり。アプリケーションエラー(うろ覚え)もありました。あれこれ試しすぎて混合してしまったんだと思います。いろいろ試した結果 "=INDIRECT(""出庫記録!D" & i & """)")でイメージどうりに動かすことができました。 自分でもなぜこうなのかよく分かっていません(^O^;)
>>[410]  最後のカッコは入りません。 スミマセン
>>[412]
>自分でもなぜこうなのかよく分かっていません
この状態でそのコードを使うのは私はあまり良くないかなと思います。
なぜ動くのかが分からないと本当のところは希望通りに動いているのか
分からないはずです。
見た感じ希望通りでも間違った動きをすることもありますから、
ある程度でもどうなっているのかを理解する必要はあると思いますよ。
また、そのような状況ですと修正するときに困ることもあるかと思います。


今回のことですと
>"=INDIRECT(""出庫記録!D" & i & """)"

・"=INDIRECT(""出庫記録!D"
 これが一つの文字列「=INDIRECT("出庫記録!D」として認識される
・i
 For文でまわすループ変数(1〜10が代入される)
・""")"
 これが一つの文字列「")」として認識される

これらを&で文字列連結しているので「=INDIRECT("出庫記録!D1")」のようになる

=INDIRECT("出庫記録!D1")
参照文字列が"出庫記録!D1"なので出庫記録シートD1セルを参照する

というような感じになっているはずです


因みにダブルクォーテーションの括り方は以下が参考になると思います
http://officetanaka.net/excel/vba/tips/tips90.htm
>>[414] 検索してもあまり理解できずにうやむやにしていました。素晴らしいです。 噛み砕いて教えてくれて本当に感謝してます。 ありがとうございます。 
>>[416]
>それぞれ項目が違う3つのシート(例えば収支実績表など)をひとつの表にまとめて、項目ごとの合計を出すことってできますか?

明確にルールが決まっているのであれば、できるとは思いますよ。
具体的なことが分からないので関数でできるのか
マクロを組むのかは分かりませんが。
>>[418]

横やり失礼。

あなた以外のコミュ参加者には、あなたがどのような項目の表を作成しているか判らないのですが。

その情報を明示せずにアドバイスしてくれと言われても 抽象的な回答しかできないというのが分かりませんか?

あなたの書いている情報だけであなたの求める回答が出来るとすれば、エスパーか超能力者だけです。

Excelの勉強をする前に常識的な思考を身につけられた方が宜しいのではありませんか?
>>[418]

追記。

本気で解決したいのであれば、新規でトピックを作成して具体的な表を明示して質問して下さい。

こちらは雑談トピックですので。

常識的な方であればコミュの説明文を読んで理解されてからトピック立てるので、雑談トピックに質問はされないと思いますけどね。
あら、どんな質問だったのだろう・・。ここに、mixi離れの典型を見た。

コミュで質問する人に、そう本気の人はいないんじゃないかな。多分。
無料で・尚且つ労せずに解決出来れば、儲けもの・・ぐらいの感覚かと。

まあ、人によって『思い』は違うでしょう・・。それはそれで、しょうがない。

この前のトピなんかで思うことがあります。

きっかけは、(他のExcel系のコミュだが)人を罵倒するだけの発言者の登場。これは、今までなかったですね。

質問者の質と言うか、態度も、数年で、また変化していますね。ますますのお手軽ヘルプと言うか、LINE世代と言うか。

ネットでもExcelの情報も溢れています。質問サイトも充実している。・・・と、言うことは、普通の人は、検索したりして、解決しているのが大多数。逆に言うと、ここに質問してくる人は、(ある意味)普通の方ではなく、少数派ではないかかと。

ほとんど、独り言で失礼をば。本日はここまでにしておきます。

たまに、ん?って思う感じの質問者さんも確かにいるけど、完全に趣味でしかエクセルいじる機会がない私は、お題をくれるだけでうれしい。
どこに書くか悩みましたが、新たにトピ立てる程のモノでもありませんのでこちらで失礼します。
神エクセルの入力支援シートを試作しましたのでご笑覧下さい。
http://youtonbokujo.seesaa.net/article/455234038.html

ログインすると、残り399件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。