• ベストアンサー

EXCELで、別のセル位置が文字列として入っているセルを、関数の引数として使用したい

ややこしいのですが、よろしくお願いします。 例えば、以下のように a1の値:1(数字) a2の値:2(数字) a3の値:3(数字) c1の値:a1(文字列) d1の値:a3(文字列) が各セルに入っている場合、a1からa3までの和(=6)を求めるのに、 c1とd1を引数に使わないといけないのですが、この場合どのようにしたら良いのでしょうか? お詳しい方どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

INDIRECTという便利な関数があります。 =INDIRECT() ()内には、文字列で、あたかも人間が式を打ち込むように文字列を 入れるか、または別の関数を使った結果でそうなってもいいのです。 質問例では、=SUM(A1:A3)を求めたいのですが A1、A3を直接(Direct)に使わないので、間接Indirectに C1の値とD1の値を使うので C1&”:”&D1を使います。=C1&”:”&D1 で A1:A3が出来上がるので、それをINDIRECTの()内 に入れ、SUM関数の()内に、人間が打ち込んだように働いてくれます。 それをSUMで合計を求めます。 ご存知の関数は中側から実行されますから、結果はSUM(A1:A#)と同じになります。 =SUM(INDIRECT(C1&":"&D1))

imapon
質問者

お礼

imogasi様 おかげさまで上手くいきました。ご丁寧に教えてくださりありがとうございました。

その他の回答 (1)

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.1

こんにちは~ =SUM(INDIRECT(C1&":"&D1)) ということでしょうか?

imapon
質問者

お礼

shiotan99 様 上手く出来ました!迅速にお答えくださり誠にありがとうございました!

関連するQ&A

  • エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。

    エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。 エクセルのセルA1に 「A123B1234X9876C123DD」と入力されています。 これを 「A123-B123X9876-C123-DD」としたいです。 現在 ・B1のセルに=REPLACE(A1,5,0,"-") ・C1のセルに=REPLACE(B1,15,0,"-") ・D1のセルに=REPLACE(C1,20,0,"-") と入れて、D1にできた値の 「A123-B123X9876-C123-DD」 をコピーして E1のセルに「形式を選択して貼り付け」「値」で貼り付けして B1~D1を削除して ・A1のセルには元の「A123B123X9876C123DD」 ・B1のセルには編集後の「A123-B123X9876-C123-DD」 が表示されるようにしています。 このA列が100行もあるとうんざりです。 式をオートフィルでコピーしていくのですが  ・B1に式を入れてオートフィルでB100までコピー  ・C1に式を入れてオートフィルでC100までコピー  ・D1に式を入れてオートフィルでD100までコピー  ・D1~D100をコピーしてE1~E100に「形式を選択して貼り付け」「値」で貼り付け  ・B,C,D列を列削除  3回は式を入れないといけないです。一発で編集する方法はありますでしょうか?

  • エクセルの文字列の検索に関して

    また、エクセルに関しての質問です。 例えば  A B C D 1あ 1 2い 2 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このような漢字で文字列が縦に入力されていて、  A B C D E 1あ 1   お 5 2い 2   う 3 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このようにD列にある文字に対してA列にある文字で該当する文字を発見し横のBセルにある番号を取ってくるということがしたいです。 この場合だとD1は「お」なので、A列の上から見ていくとA5に「お」があるので、B5の数字「5」をEに入力といったような具合です。簡単なように見えますが、複数の文字列を横断的に検索することができません。 誰か詳しいお方お教え願います。

  • Excel 文字列の抽出

    Excel初心者です。 1つのセルに以下のデータが入力されています。 A:文字列B:文字列C:文字列D:文字列 このセルの「C:」から「D:」の間にある文字列を 他のセルに抽出する方法を教えてください。 宜しくお願いいたします。

  • エクセルで一致するをセルを参照して入力したい

    お世話になります。 わかりにくいタイトルで申し訳ないのですが以下の場合について教えてください。 A列に1,2,3,4,5・・・というように重複しない数字が入っています。 C列にも1,3,4・・・など重複しない数字が入っています。(1と3の間に空白セルはない) D列には任意の文字が入っています。 C列の数字と同じ数字は必ずA列には存在します。(逆にA列の数字がすべてC列にあるわけではない) ここであいているB列にその左のA列と同じ数字をC列から探し、その右側のD列の文字を入力したいのです。 (A列と同じ数字がC列にない場合は空白にする。) 例 A1:1 C列で「1」が入っているセルがC1、D1:みかん の場合 B1:みかん とする A2:2 C列に2がない場合 B2:空白 A3:3 C列で「3」が入っているセルがC2、D2:りんご の場合 B3:りんご とする この場合B列にはどのような計算式を入れておけばよいのでしょうか。 よろしくお願いします。 Excel2002です。

  • エクセル関数の質問です。

    エクセル関数の質問です。 エクセルで、A~Cの列には値が入っています。 A列のセルに「あいうえお…」等の各文字がランダムな順番で入っています。 B列には、A列に対応する数字の値が入っています。 C列には、「あいうえお…」等の各文字がA列とは異なる順番で入っており、 D列に、A列に入っているそれぞれの文字に対応するB列の値を入れたいのです。 ▼最終的にはこういう感じです。 A列 B列 C列 D列 お  12  あ  31 え  25  い  50 あ  31  う  43  う  43  え  25   い  50  お  12 C列の順番は動かさずに、D列に値を入れたいのですが、 良い方法がありましたら、アドバイスをいただけますでしょうか。 どうぞよろしくお願い致します。

  • エクセルの関数について

    エクセルについてご教授をお願い致します。 C列のセルに入っている文字列があります。 (例えばA-111やB-111Gなど) D列のセルの中から、C列の文字列を検索して、 C列の文字列の次の文字が数字だった場合のみ、 その数字1文字だけを削除する場合はどのようにしたら宜しいでしょうか。 (例えばA-1113の3の部分や、B-111G1の1の部分です。 数字じゃない場合や、次の1文字以降(2文字目)に数字があっても 削除対象ではありません。 あくまで、C列の文字列の次の数字1文字のみです。 (例えばA-11131の場合は3だけ削除でA-1111となります。  Bー111G1Gの場合は、1だけ削除でB-111GGとなります。) 説明がわかりにくいとは思いますが、 この説明でわかって頂ける先生がおられましたら ご教授お願いします。

  • 関数の答えを別の関数の引数で使えますか?

    セルC1に入れた文字列で検索をかけ、該当するセル番地を表示させます。 その答えをOFFSET関数の引数として使いたいのですが、可能ですか? 具体的には以下のような式です。 シートは2010年度と2011年度があります。 =$Q7/SUM(OFFSET('2010年度'!(ADDRESS(MATCH($A7,'2010年度'!A:A,0),4)),0,0,1,COUNT($E7:$P7)))

  • エクセルの関数式について

    エクセルについてご教授をお願い致します。 C列のセルに入っている文字列があります。 (例えばA-111やB-111Gなど) D列のセルの中から、C列の文字列を検索して、 C列の文字列の次の文字が数字だった場合のみ、 その数字1文字だけを削除する場合はどのようにしたら宜しいでしょうか。 (例えばA-1113の3の部分や、B-111G1の1の部分です。 数字じゃない場合や、次の1文字以降(2文字目)に数字があっても 削除対象ではありません。 あくまで、C列の文字列の次の数字1文字のみです。 (例えばA-11131の場合は3だけ削除でA-1111となります。  Bー111G1Gの場合は、1だけ削除でB-111GGとなります。) また、同じDセル内にCの文字列が重複している場合もあり、 その場合でも全ての文字に同じ条件を適応します。 説明がわかりにくいとは思いますが、 この説明でわかって頂ける先生がおられましたら ご教授お願いします。

  • エクセルであるセルの文字が他のセル内で1文字でも存在するかを知る関数は?

    エクセルであるセルの文字が他のセル内で1文字でも存在するかを知る関数はありますか? たとえばA列の値に存在する文字がB列に1文字でもあるかを チェックすることができるのでしょうか。 A列    |   B列    |   C列 -------+----------+---------- ABCD  |  XYZB   |  ○ --> Bがある XY    |  ABSCE  |  X --> XもYもない HD     |  XUDM  |  ○ --> Dがある マクロ(VBA)でなく関数で表したいのですが このような関数はありますか? 関数のヘルプを調べたのですが、出来そうで出来ません。 どうぞよろしくお願いします。

  • エクセル”検索条件はセル内のあいまい値”

    どうにも検討がつかず調べても対応したものができないのでお力添え願います。 D列に”A”と入力し、C列へ「D列のセル値が含まれた場合C値からB値をマイナスし それ以外は上のセル値を反映させる」としたいのですがどうするのがいいでしょうか。 直接値を指定してあいまい検索は『=IF(COUNTIF($A2,"*A*"),C1-$B2,C1)』でできたのですが この "*A*" 部分を”B”というときもあるのでD列のセル値であいまい検索としたいです。 A列の値は以下のように”A”の後ろに複数の数字がつくことがあります。 A列 A2 A3 B4 B3 B4 A2 A4

専門家に質問してみよう