
たびたび恐縮です。
別に質問したINDIRECT("Sheet"&ROW(A2)&"A1")について、概要は理解できました。(この式の場合、Sheet2のA1の値を表示させるものだと思います。)
よく理解していない点
*””位置、なぜ?
*&は文字列をつなぐという意味でよいのか?
*&の位置、なぜ?
多分、最初の”と最後の"が1組で中間の2つが別の1組と思います。とすると、なぜ中間部が"&---&"と表現しなければいけないのかがよく解りません。せめて、"&---"&なら理解できるような気がします。
お願いいたします。
No.1ベストアンサー
- 回答日時:
>*&は文字列をつなぐという意味でよいのか?
そうです。
文字の連結を行います。
>なぜ中間部が"&---&"と表現しなければいけないのかが
(! が抜けていますが・・・)
"Sheet" と "!A1" は、文字として記入されているので、""で括る必要があります。
ROW(A2) は、関数なので、"ROW(A2)" としてしまったら、ROW(A2) と言う関数は機能しません。
そうなると、INDIRECT("SheetROW(A2)!A1")という形になり、希望の動作になりません。
"Sheet"(文字)& ROW(A2)(関数)& "!A1"(文字)
"Sheet"(文字)& 2(関数の戻り値) & "!A1"(文字)
最終的に "Sheet2!A1" という文字が INDIRECT で処理されます。
No.3
- 回答日時:
INDIRECTのカッコ内の式を、空きの別セルに、=をつけて設定してみてどうなるか見れば、意味がよくわかる。
””で囲んであるA1(実は!A1だが)は変化させないでよいから定数的に””で囲んであるのです。””で囲んである文字列は、関数でも
表示形式でも、プログラムでも、そのとおりの値で変化しません。
>&は文字列をつなぐという意味でよいのか
&は前後の文字列を連結する文字列接合(連結)演算子といいます。
演算子+-などと同列のところで、解説書では説明がなされる基礎的な事項です。
INDIRECTのカッコ内は、人間が手業でセルに打ち込む式と全く同じになっている必要があるのです。
普通は()内の式の一部が、式の複写をしたときにおいて、行などに伴って関数で変更されるから、使い道があるのです。
この場合はROW()が式を入れるセルの行で変化します。
ーー
全般にこの程度の質問を回答後にやっているようでは、関数を使う課題の質問をしても、理解できないことになります。回答するほうもやり切れません。
改めてエクセルを(浅くても)「全般的に」勉強し、その後に質問する必要があります。
No.2
- 回答日時:
質問の中の説明からすると、「INDIRECT("Sheet"&ROW(A2)&"A1")」は違うと思います。
多分、「INDIRECT("Sheet"&ROW(A2)&"!A1")」でしょう?「!」(俗称、ビックリマーク)が抜けてます。
すると、これは、「INDIRECT("Sheet2!A1",True)」と同じです。(Trueは指定省略可ですね。)
ですから、質問に対する回答は、
(1)「Sheet」という文字列を囲むための""と、「!A2」という文字列を囲む””の2組です。一番左端の「"」と一番右端の「"」が組ではありませんよ。
(2)おっしゃるとおり。
「Sheet」と「ROW(A2)」(つまり、「2」)と「!A1」をつないで
→Sheet2!A1
(3)「&」は上記(2)で説明した文の中の「と」と同じ意味を持つもので、複数の文字列群をつなぐもの。
文字列「abc」と文字列「123」を1つの文字列としてつなぎたい場合、
"abc"&"123"
とします。結果、「abc123」となります。
ちなみに、上記までの説明文で、「」は文字列の表記を強調するためです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで縦1列に並んだ大量の数字から、一定間隔で平均値を出したい。 2 2023/02/20 09:17
- Excel(エクセル) エクセル 別シートの各セルそれぞれの比率を計算したい 4 2023/08/05 15:20
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) AVERAGE関数とINDIRECT関数を使ってのオートフィル 3 2023/01/12 12:00
- Excel(エクセル) Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに 5 2023/04/08 20:00
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- 数学 3次元実ベクトル空間において, 平面 P:x-y+z+1=0 と直線 L:2(x-1)=-y=-z 3 2022/10/29 14:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
Left関数とRight関数を合わせた...
-
Pro c/c++ でホスト変数の後に....
-
ORCLEでの小数の表示方法の変更...
-
文字列からカンマを取り除きたい
-
VBA2005 16進を2桁で表示したい。
-
【Excel VBA】複数ある特定の文...
-
SQL の Update文(?) と ...
-
Msgboxの×が押されたとき
-
エクセル 数値データを桁をそ...
-
エクセルで文字列をtxtファイル...
-
Excelで指数表現しないようにす...
-
アクセスで特定の数字以外(複...
-
PDFのファイル名をリネームをし...
-
エクセルで文字列の最大値を抽...
-
文字列の最後の文字を置き換え...
-
Excelで3E8を3.00E+8にしない方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
VBAでの Replace関数で、ワイル...
-
エクセルで文字列をtxtファイル...
-
【Excel VBA】複数ある特定の文...
-
エクセル 数値データを桁をそ...
-
Excelで3E8を3.00E+8にしない方...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列の最大値を抽...
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
Excelで指数表現しないようにす...
-
MS SQLServer のSQLで文字列の...
-
VBの「As String * 128」とは?
-
エクセルでセル内の文字列の最...
-
ORCLEでの小数の表示方法の変更...
-
bashスクリプトでの文字列から...
-
LEFT関数で文字数を指定しない...
-
アクセスで特定の数字以外(複...
おすすめ情報