別のスプレッドシートの列番号を取得したい
ブックA「A1」に、ブックB「1:1」の範囲内で、文字列が入っている一番右(最後)のセルの列位置を取得したいと考えています。
※下の例でいえば「I1=う=9」です。
同じブックの中であれば、以下の計算式で表示されました。
------------------------
■ブックB
|A|B|C|D|E|F|G|H|I|J|
1|あ| | |い| | | | |う| |
2|●|
A2=MATCH(INDEX(1:1,MAX(IF(1:1<>"",COLUMN(1:1)))),1:1,0)=9
-------------------------
最初に説明したように、これをブックをまたいだ場合にも同じように機能させたいのですが、エラーが出てしまい出来ません。
-------------------------
■ブックB
|A|B|C|D|E|F|G|H|I|J|
1|あ| | |い| | | | |う| |
■ブックA
|A|B|C|D|E|F|G|H|I|J|
1|●| | | | | | | | | |
※●に以下数式
--------------------
A1=MATCH(INDEX(IMPORTRANGE("URL","1:1"),MAX(IF(IMPORTRANGE("URL","1:1")<>"",COLUMN(*****)))),IMPORTRANGE("URL","1:1"),0)
--------------------
*****の中身
--------------------
COLUMN(IMPORTRANGE("URL","1:1"))
エラー → 引数は範囲である必要があります。
COLUMN(INDIRECT(IMPORTRANGE("URL","1:1")))
エラー → 関数 INDIRECT のパラメータ 1 の値が「あ」です。これは無効なセル/範囲の参照です。
--------------------
どのような数式にすれば、同じブック内と同様の挙動をさせられるでしょうか?
2日間悩みましたが分からないので、何卒お力を犯し頂きたく存じます。
よろしくお願いいたします!
※Excelではなく、スプレッドシートについてです。
※別々のスプレッドシートを表したいのですが、適当な表現が見当たりません。ここでは便宜上、Excelと同じようにブックと呼ばせていただきました。
お礼
早速のご回答ありがとうございます!参考にさせていただきます!