[[20211109091706]] 『INDIRECT関数を使わずに、参照する方法』(会長) ページの最後に飛ぶ

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

 

『INDIRECT関数を使わずに、参照する方法』(会長)

困っておりまして、ぜひ教えて下さい。

Excel onlineではINDIRECT関数がサポートされず、以下の関数の組み合わせがエラーになってしまい、大変困っております。

VLOOKUP($A5,INDIRECT($P$2&"!$R:$Z"),3,FALSE)

P2セルの内容が変化することで、参照する数値を変えたいというのですが、何かしら回避する方法はございますでしょうか?

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 P2セルにはどういう値が入力されるのだろうか?
 下記のページでは
 >参照文字列で他のブックを参照している場合 (外部参照)、そのブックを開いておく必要があります。 参照先のブックを開いていない場合、エラー値 #REF! が返されます。
 >注    Excel Online では、外部参照はサポートされていません。
 という記述があり、Online版でも外部参照でなければINDIRECT関数が使えるように思えるが。
https://support.microsoft.com/ja-jp/office/indirect-%E9%96%A2%E6%95%B0-474b3a3a-8a26-4f44-b491-92b6306fa261
(ねむねむ) 2021/11/09(火) 09:33

 あと、シート名によっては
 INDIRECT("'"&$P$2&"'!$R:$Z")
 とシート名を'で囲まなければならないこともあるので確認してみてくれ。
 それとエラーの場合、何というエラーになるのかも明記してくれ。
(ねむねむ) 2021/11/09(火) 10:01

https://docs.microsoft.com/ja-jp/office365/servicedescriptions/office-online-service-description/excel-online?redirectedfrom=MSDN

こちらのページによると
「You can use Excel for the web to view external references, but you can't create them using Excel for the web.」
とあり、Excel Onlineでは外部参照を見ることはできてもExcel Online上で外部参照を作成することはできないようです。

また、INDIRECT関数は「揮発性関数」という常に自動で再計算されてしまう関数なので、常に「再作成している」状態です。

つまり、
・INDIRECTではなくても、Excel Online上で外部参照を作成することはできない(Online上で値変更した時点で「Online上での外部参照作成」になるため)
・別のデスクトップ上で作成されたブックで参照可能だった外部参照でも、INDIRECT関数を使っているとOnlineでは参照できない
ということになります。
(きまぐれおじさん) 2021/11/09(火) 10:43


| External references (links)
| An external reference (also called a link) is a reference to
| a cell or range on a worksheet in another Excel workbook,
| or a reference to a defined name in another workbook.
| You can use Excel for the web to view external references,
| but you can't create them using Excel for the web.
| You'll need the Excel desktop app to create or update external references.
ということですから、
「外部参照」のなかには、そのBook内の他のシートは含まれないのでは?
(γ) 2021/11/09(火) 11:11

>みなさま

ご記入いただきまして、ありがとうございます。

エラーは「#N/A」と出ます。

これが不思議なのですが、アップロードした瞬間は、問題なく表示されるのですが、「$A5」の値を変えると、途端に該当数式箇所がすべて「#N/A」に変わります。ローカルに落として確認すると、何も問題なく動くのですが…。

以下のサイトにはこのような記述がありますが、INDIRECT関数を使わずに、同様のことを実現するのは難しいでしょうか?

http://office-qa.com/Excel/ex178.htm

通常、シート名の参照は=シート名!セルのように入力します。(=新宿店!A1など)しかしセルにシート名が入力されている場合、そのセル!A1や=セル&"!A1"としても参照できません。セルに入力されたシート名を参照したり指定したりするにはINDIRECT関数を使います。 (会長) 2021/11/09(火) 15:44

確認1.
参照先はそのブック内の他のシートですか?それとも、別のブックのシートなんですか?

確認2.
対応するキーがないと#N/Aが返りますが、単にそういうことではないのですか?

(γ) 2021/11/09(火) 17:15


>γ様
同一ブック内のシートです。
ローカルでは問題なく数式が動きますので、対応するキーがないということはないと思います。
(会長) 2021/11/09(火) 17:35

 >対応するキーがないと#N/Aが返りますが、単にそういうことではないのですか?

 私も同じ事を疑いますね。
 テストしてみましたが、こんなことは起きず、ちゃんと値が返ってきています。
             ↓
 >Excel onlineではINDIRECT関数がサポートされず、

(半平太) 2021/11/09(火) 18:55


>みなさま
お騒がせして、申し訳ありません。

改めて皆様からのご指摘の「キー」に関して見直したところ、特定セルの表示形式が問題でした。
Excel online上では入力値ではなく、表示上の文字列が認識されておりました。

それでも、ローカル上では問題なく動いておりましたが、盲点でした。申し訳ありません。

Excelonlineでも、同一ファイル内の別シート参照をおこなうINDIRECT関数は、問題なく動作しました。
(会長) 2021/11/10(水) 09:47


 >Excel online上では入力値ではなく、表示上の文字列が認識されておりました。

 にわかに信じがたい。

 ばかばかし過ぎて、現時点では私は検証する気になれない。
 具体例が提示されれば別ですけどね。

(半平太) 2021/11/10(水) 13:12


コメント返信:

[ 一覧(最新更新順) ]


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