[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『参照先の文字数』(フリオ)
現在、別のシートに入力されたデータをINDIRECT関数を使ってSPILLで表示しています。
しかし、一つのセルだけVALUEとエラー表示となっています。
原因を調べていく中で分かったのですが、参照先の文字数を減らしたら表示されるようになったので、文字数が多いのではないかと思っています。
参照先の表示には文字数制限があるのでしょうか?
念のため関数は、
=IF(INDIRECT('Sheet1'!$Q$3&"!AG2:AG115")="","",INDIRECT('Sheet1'!$Q$3&"!AG2:AG115"))
です。
参照先の文字数は284文字でした。
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
本題から外れますが、実際にどういうデータを入れていて、どういう結果を返しているんですか?
(フォーキー) 2023/03/23(木) 13:56:25
数式内の文字列の上限が255文字ということのようです。
https://global-wing.com/activity/no_concatenate.html とか http://sugoikaizen.blog.fc2.com/blog-entry-240.html とか https://oshiete.goo.ne.jp/qa/6323480.html とか (めいぷる) 2023/03/23(木) 14:20:29
これ、 =IF(INDIRECT('Sheet1'!$Q$3&"!エラーとなるセル番地")="","",INDIRECT('Sheet1'!$Q$3&"!エラーとなるセル番地")) としたときにも同じエラーになるだろうか? (ねむねむ) 2023/03/23(木) 14:43:55
=LET(_ref,INDIRECT(Sheet1!$Q$3&"!AG2:AG115"),LEFT(_ref,255)&REPLACE(_ref,1,255,""))
とすれば文字列にはなりますが参照できるはずです。
ただこんなことしてまで数式でやる必要があるのかって話にはなります。
(d-q-t-p) 2023/03/23(木) 14:46:48
d-q-t-pさん
この方法もあるのですね。
ありがとうございます。
(フリオ) 2023/03/23(木) 14:54:00
どうもINDIRECT関数の制限というより配列の制限の気がする。
A1セルに =REPT("あ",255) と入力し、A2セルに あ と入力して他のセルに =A1:A2 と入力するとA1セルもA2セルもきちんと参照されるがA1セルを =REPT("あ",256) にするとA1セルの参照はエラーになる。 (ねむねむ) 2023/03/23(木) 15:05:30
おっと =A1 だと255でも256でもエラーにならない。 (ねむねむ) 2023/03/23(木) 15:11:30
2016でレガシーな配列数式(Cntl+Shit+Enter)ではエラーになりません SPILLの制限なのかも?? (´・ω・`) 2023/03/23(木) 16:14:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.