[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ROW関数で困っています』(あず)
=IF(ISREF(INDIRECT("[201804.xlsm]八田!$E6")),INDIRECT("[201804.xlsm]八田!$E6"),"")
上記の式を設定し、正しい値が返ってくることが確認できました。
この数式をオートフィルでコピーしたいと思い、
=IF(ISREF(INDIRECT("[201804.xlsm]八田!E"&ROW(E6))),INDIRECT("[201804.xlsm]八田!E"&ROW(E6)),"")
に変更したのですが、空白になってしまいます。
どこがおかしいのかお教えいただけませんでしょうか。
よろしくお願いいたします。
EXCEL2016で作成しています。
※INDIRECTを使っているのはまだ作成していないブック(201805、201806…)があるためです。
< 使用 Excel:Excel2016、使用 OS:Windows7 >
上記の式で返り値を確認していて、それにROW〜を足したので書き間違いは
ないと思うのです。
ROW〜を削除して参照先セルを直すとちゃんと返ってくるのです。
ただ、式をダブルクリックしてみたら
=IF(ISREF(INDIRECT("[201804.xlsm]八田!E"&ROW(E6))),INDIRECT("[201804.xlsm]八田!E"&ROW(E6)),"")の
E6が参照元ではなく参照先(でいいのでしょうか?)のE6にマークがつきました。
そもそもなのですが、
ROWのあとにもブック名シート名が必要なのでしょうか?
すみませんが引き続きよろしくお願いいたします。
(あず) 2018/04/04(水) 19:12
>ROWのあとにもブック名シート名が必要なのでしょうか? それは不要ですよ。 どのシートでも、ROW(E6)は6に決まっていますから。
それはいいのですが、ROW関数って、たとえ1つでも配列型なんですよ。
つまり6じゃなく{6}。
どこが違うんかい、と思いますが、時々それがわざわいすることがあります。
今回の件では、当方はトラブルが再現しないのですが、 念のため、MAX関数を使って配列型を解消してみるとどうなりますか?
つまり ↓ =IF(ISREF(INDIRECT("[201804.xlsm]八田!E"&MAX(ROW(E6)))),INDIRECT("[201804.xlsm]八田!E"&MAX(ROW(E6))),"")
(半平太) 2018/04/04(水) 20:16
あの、失礼を承知で、念の為の確認なのですが、
INDIRECTは存在しない参照先・定義した名前や、 開いてないブックを参照する文字列を指定すると #REF!エラーを返します。
っていう事情と、
=ISREF(#REF!) の戻り値はFALSEです。
っていう事情は考慮出来てますでしょうか?
特に >開いてないブックを参照 について。
可能性排除のつもりでの確認です。 気を悪くなさらないで下さいね^^;
(白茶) 2018/04/04(水) 20:42
ROWなしではうまくいくんですよ!なのに。
「式は正そう」とお墨付きをいただいているのに
もうなんなんでしょうか…(泣)
ここに入力した数式もコピーしてきたものですし
試すことがなくなってしまってお手上げです。
私がしようとしていることは
このセルに201804ブックの八田シートE6を引っぱってきてE7E8E9…とコピーします
もし#REFになったときは空白にします
という式になってますよね?
もし良いお答えがありましたらお願いいたします。
私も引き続き頭を冷やしてトライしてみます。
(あず) 2018/04/04(水) 20:59
FALSEで戻るのですか!?
空白で戻るように数式ができていると思ってました(恥)
トライしているセルは存在するブックで開いているのです。
開いてなかったら「あーそうかー!」となったのですが…
ちょっと時間を置いてまたがんばります。
(あず) 2018/04/04(水) 21:04
なぜ表示されないのかわかりませんが(拡張子は「xlsm」で合ってますよね?) ↓ だとどうなるんですか?
=INDIRECT("[201804.xlsm]八田!E"&ROW(E6))
それと、一応確認ですが ↓ ではダメなんですか?
=IFERROR([201804.xlsm]八田!E6,"")
以上です (笑) 2018/04/04(水) 21:30
ご提案いただいた数式それぞれ入れてみました。
=INDIRECT("[201804.xlsm]八田!E"&ROW(E6))
#VALUEで返ってきてしまいました…
どうもROWと相性が悪いようです。
=IFERROR([201804.xlsm]八田!E6,"")
は正確に返ってきました。
コピーもOK!でした。
なのですが、
まだ作成していないブック(201805、201806…)の分も
数式を入れておきたいのです。
この数式ですとファイルを指定しろと言われてしまいました。
後出しになって申し訳ないのですが
条件付き書式の設定は何か関係ありますでしょうか?
もうあきらめて一行一行書き換えていこうかという
モードに入ってきました。
(あず) 2018/04/04(水) 23:43
>#VALUEで返ってきてしまいました…
#VALUEエラーですか?
ファイル〜オプション〜詳細設定〜Lotusとの互換性の設定 「計算方式を変更する」にチェックが入っていませんか?
>=IFERROR([201804.xlsm]八田!E6,"") >この数式ですとファイルを指定しろと言われてしまいました。
それ、無視できませんかね?
確認だけ (笑) 2018/04/05(木) 01:01
ありがとうございます。
>「計算方式を変更する」にチェックが入っていませんか?
入ってました〜!
これがどういうものなのか検索して読んでみたのですが
理解できませんでした…(恥)
チェックが入っている状態がデフォルトなんですよね?
そこをチェックするなんて私にはとても気づけません(泣)
数式を使うならチェックをはずした状態をデフォルトと
考えた方がいいということでしょうか?
作成していた表は一行一行書き換えたので
チェックをはずしてROWが含まれた式での一連の作業は
まだしていませんがのちほどトライしてみます。
結果出ましたらご報告します。
(あず) 2018/04/05(木) 12:06
ファイル〜オプション〜詳細設定〜Lotusとの互換性の設定 「計算方式を変更する」にチェックが入っていませんか?
チェックをはずしてROW付きの数式をいれたところ、
結果は空白でした。(本当は文字が入ってくるはず)
そして条件付き書式設定が変なことになってしまいました…
みなさま、お時間を取らせてしまって申し訳ございませんでした。
何が悪かったかわからないまま終わるのは忍びないのですが
手作業で進めました(涙)
ありがとうございました!!
(あず) 2018/04/05(木) 13:39
=INDIRECT("E"&ROW(E6))
,1と省略.....参照形式
上記数式は,1ありで値がでました
下記数式ではエラーが返りました
ほかの関数でも ,1と省略.....参照形式が必要等ありますが
(72のおちゃん) 2018/04/05(木) 18:58
こちらからも報告。
■ =INDIRECT("[201804.xlsm]八田!E"&ROW(E6))
↑ の式で「計算方式を変更する」にチェックを入れた場合、#VALUE!エラーになりました。 チェックを外すとE6以下の値が正しく返りました。
■ =IF(ISREF(INDIRECT("[201804.xlsm]八田!E"&ROW(E6))),INDIRECT("[201804.xlsm]八田!E"&ROW(E6)),"")
↑ の式で「計算方式を変更する」にチェックを入れた場合、「空白」になりました。 チェックを外すとE6以下の値が正しく返りました。
言うまでもなく 201804.xlsm が開いていることが前提です。
以上です (笑) 2018/04/05(木) 19:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.