[[20220328175541]] 『 『行挿入時、セルに入力した式の参照がずれる』早x(nao) ページの最後に飛ぶ

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

 

『 『行挿入時、セルに入力した式の参照がずれる』対応後の空白処理について』(nao)

[[20041224184538]] 『行挿入時、セルに入力した式の参照がずれる』
を見させて頂き、下記の式が完成しました。

=INDIRECT("[Book1.xlsx]Sheet1!Q45",ROW())

概ねうまくいったのですが1点うまくいかず、
参照先が空白("")の時、見た目は(空白)を吐いてくれていますが
下記IF式でやってみても空白ではなく「可変」が採用されて見た目空白を表示してくれています。

=IF(INDIRECT("[Book1.xlsx]Sheet1!Q45",ROW())="","",INDIRECT("[Book1.xlsx]Sheet1!Q45",ROW()))

結果の空白("")を次の式に使いたくて「参照先が空白のときは空白」と
したいのですが何か良い方法はありませんでしょうか。

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


>概ねうまくいった
とありますが、
INDIRECTの第二引数が間違えていませんか???

当方で試したこと
A1に「IF(INDIRECT(B1&ROW())="","",INDIRECT(B1&ROW()))」と入力
B1に「D」と入力
D1に「""」と入力、又は「3」と入力

(匿名) 2022/03/28(月) 18:57


ご連絡ありがとうございます。式をもう一度確認しましたが、間違っておらず
別Bookの欲しいセルから文字列や日付を吐けていて、行挿入にも耐えてくれているのですが
素人でそれ以上分からず、見た目でできているだけななのかもしれません。。
(nao) 2022/03/28(月) 19:23

 >=INDIRECT("[Book1.xlsx]Sheet1!Q45",ROW())
 第2引数を ROW() にしてますけど、普通そんなものは入れません、 
 そこは TRUE または FALSE です。
 ROW() でもエラーにはなりませんが、TRUE にしたのと同じこと。

 また、TRUE は省略できるので
 =INDIRECT("[Book1.xlsx]Sheet1!Q45")
 でも同じ。

 >空白ではなく「可変」が採用されて見た目空白を表示してくれています。
「見た目空白を表示」とはどういうこと?
  どういう操作をしたら、○○になってほしいのに、××になってしまうと具体的に説明してください。

 また、INDIRECT は参照ブックを閉じているとエラーになりますが、それでいいんですか?
 INDEX なら閉じていてもエラーにはなりません。

 以上、確認だけ
(笑) 2022/03/28(月) 20:21

 さらに確認

 ・対象セルは Q45セルだけ?
 ・数式を入れるのはどのセル?

 以上
(笑) 2022/03/28(月) 20:39

 先に言っておきますけど・・・

 ・対象は Q45セルだけでなく、Q46、Q47、Q48・・・と下に続く
 ・数式を入れるのは別ブックの45行目から

 だとしたら、空白ウンヌンの話はとりあえず置いておくと
 やりたいことは ↓ なこと?

 45行目のセルに
 INDIRECT
 =INDIRECT("[Book1.xlsx]Sheet1!Q"&ROW())
                               ~~~~~~~~
 INDEX
 =INDEX([Book1.xlsx]Sheet1!Q:Q,ROW())

 下コピー

 以上
(笑) 2022/03/28(月) 23:27

(笑)さん色々とコメントありがとうございます。そしてレス遅く申し訳ありません。

>第2引数を ROW() にしてますけど、普通そんなものは入れません、
この[[20041224184538]] 『行挿入時、セルに入力した式の参照がずれる』 解決のために入れています。
これが無いと参照先の行挿入に追従できなかったので入れています。

>「見た目空白を表示」とはどういうこと?
> どういう操作をしたら、○○になってほしいのに、××になってしまうと具体的に説明してください。
参照先の例Q45セルに何も記入が無い(空白)の状態のとき、計算式の結果では空白になっていますが、
その計算式の結果を引用する別のセルの計算式=IF(Q45="","","OK")の様な式を使うと、""ではなくOKが出力されてしまうということです。

>また、INDIRECT は参照ブックを閉じているとエラーになりますが、それでいいんですか?
>INDEX なら閉じていてもエラーにはなりません。
2ファイルを同時に立ち上げて使うので良いです。INDEXの方が良いかもしれませんので調べてみます。ありがとうございます。

>・対象セルは Q45セルだけ?
  違います。A〜H列の500行程度です。

>・数式を入れるのはどのセル?
 別ファイルの要らない列を省いた同等行のセルです(参照先がQ45なら数式はH45)

>・対象は Q45セルだけでなく、Q46、Q47、Q48・・・と下に続く
   YESです

>・数式を入れるのは別ブックの45行目から
  からだけではなく、45行目以前もではありますが(例がわるく申し訳りません)
  やりたいことはYSEです

>=INDIRECT("[Book1.xlsx]Sheet1!Q"&ROW())
 使わせて頂きましたが、参照先のセルに日付(もしくは文字)を入れても空白が返ってきておりました。
 

(nao) 2022/03/30(水) 14:02


 >これが無いと参照先の行挿入に追従できなかったので入れています。

 リンク先で INDIRECTの第2引数(参照形式)に ROW() を入れてるのはどの式ですか?
 その式をコピーして提示してください。
 一応ざっとは見たんですけど、どれのことかわかりませんでした。

 他にも確認することがありますが、この件をはっきりさせないと先に進めそうもないので
 まずは上記の件(数式の提示)をお願いします。

 とりあえず以上です
(笑) 2022/03/30(水) 16:39

(笑)さんコメントありがとうございます。また、お返事遅れて申し訳ありません。

リンク先で INDIRECTの第2引数(参照形式)に ROW() を入れてるのはどの式ですか?
 その式をコピーして提示してください。

答えになっているか不安ですが、
・参照先(Book1)のセルには「文字列」または2022/04/05等の「日付」が入っており、
 多数の人物によって文字列記入と行挿入が行われます。
・式を入れたいファイルのセルには下記式があり、参照先のセルの内容を吐き出して欲しいです。
 =INDIRECT("[Book1.xlsx]Sheet1!Q45",ROW())
(nao) 2022/04/05(火) 14:32


 横からすみません。
 > リンク先で INDIRECTの第2引数(参照形式)に ROW() を入れてるのはどの式ですか?
 >その式をコピーして提示してください。

 この"リンク先"というのは、naoさんがさんざ提示されている[[20041224184538]]のことだと思いますよ。
 [[20041224184538]]のスレッドの中で第二引数にROW()を入れている式などありましたか?という意味です。
(.:*.ゆ ゅ) 2022/04/05(火) 14:38

コメント返信:

[ 一覧(最新更新順) ]


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