• ベストアンサー

Excelで文字列の組み合わせをコマンドにする方法

以下のような計算を、最初の1行目だけの式をつくり、後は式をコピーして作りたいのですどうすればいいのでしょうか。 (実際にはもっと長いので全部作るのは面倒なため)    A  B 1  5  =SUM(A1:A6) 2  7  =SUM(A2:A6) 3  2  =SUM(A3:A6) 4  3  =SUM(A4:A6) 5  1  =SUM(A5:A6) 6  8  =SUM(A6:A6) つまり、"A"と自分のセルの行番号を組み合わせたアドレス(?)から$A$6の範囲を作ればいいと思うんですが、どうすればいいかわかりません。 遠い昔、Lotus1-2-3でLet関数かなんかで文字列をコマンド(?)にしたような気がするんですが、Excelではどうすればいいのでしょうか? イメージはこんな感じです。 "=SUM(A" & ROW() & ":$A$6)" (A6は文字列なのでコピーしてもずれないから絶対参照にする必要はありませんね。今気がつきました。) または、もっと簡単な方法があるんでしょうか。 よろしくお願いいたします。

  • tiga-
  • お礼率77% (170/219)

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

  • ベストアンサー
  • ruburubu
  • ベストアンサー率48% (15/31)
回答No.2

No.1の方の回答で良いと思うのですが、おっしゃっている方法でやるためには、 B1セルに =SUM(INDIRECT("A"&ROW()):A6) と入力すれば良いですね。

tiga-
質問者

お礼

ありがとうございます。 INDIRECT関数と、ADDRESS関数、ROW関数、COLUMN関数の組み合わせで何とか目的の結果を得ることができました。 今後ともよろしくお願いいたします。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

最初のセルに  =SUM(A1:$A$6) として、コピーするのはどうですか。

tiga-
質問者

お礼

早速の回答ありがとうございます。 実は、もう少し複雑な参照方法なのです。 (行番号と列番号を多少計算します。) 私が、そのために使おうとしたのが、 ADDRESS(ROW()+2,COLUMN()+1) {実際はもう少し複雑です} みたいにして、セルのアドレスの文字列を作成しました。 ところが、これは文字列なので、SUM関数ではセルの参照と見てくれませんでした。 それで、文字列をコマンドに変更する方法を知りたかったのです。 例を少し簡単にしてしまい、私の意図が伝わらず申し訳ありません。

関連するQ&A

  • エクセルで数式が文字列になってしまう

     こんにちは。教えて下さい。  あるセルに対して、例えば「=sum(a1:c1)」のような式を入力すると、結果が表示されずに「=sum(a1:c1)」がそのまま表示されます。  セルの属性に関係あるのかと思って、他の数式の入っているセルをそのままコピー(このときは数式になっている)、数式を書き換えたのですが、書き換えたとたん文字列になってしまいます。セルの書式で「標準」を指定しても変わりません。  どうすればいいのでしょう。  よろしくお願いいたします。

  • EXCELで文字列を探すコマンドで質問です

    複数のセルを指定しそれらの中から目的の文字列があれば、そのセルの行番号を、そのコマンドのあるセルに表示させるにはどうすれば出来ますか?

  • Excelの計算式内の文字列の一括置換は出来ますか

     Excelで、計算式の命令内の文字列を置換する方法はあるでしょうか。例えば、あるワークシートのセルで別のファイルやワークシートのセルを参照して計算している時、ほとんど同じ計算式で参照先だけを変えたい場合です。計算結果のワークシートのA列で、  A1=sum('G:\北海道'!A1:A100)  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)・・・ となっているとします。つまり、北海道.xlsというシートの1から100までの列範囲の和を計算しているとして、B列には同様の青森県.xlsからの同じセル範囲の同じ計算、C列には岩手県.xlsからの同じ計算、D列には・・・というように、計算式が全く同様で、参照元のファイル名だけを変えたい場合です。  もう一つ、類似のものとして、計算結果のワークシートで、  A2=sum('G:\北海道'!B1:B100)  A3=sum('G:\北海道'!C1:C100)  A4=sum('G:\北海道'!D1:D100)・・・・ というように、計算式内の行や列を表す記号や数値を置換することは可能でしょうか。  同じような作業は出来るだけ簡単な操作でできる、というのが良いソフトのイメージなのですが、私が現在知る範囲では1つ1つ式を書き換えています。特にリンク貼り付けでやると、計算結果のワークシートでうまくコピーができません(上記では、北海道をB1で青森県に変えておいてそれをB2以下にコピーすると上手く行かない)。  宜しくお願い致します。

  • EXCELで計算式を文字列として抜き出す?

    excelにて、計算式を文字列として他のセルに表す方法はありますか? 数箇所だったら数式を直接コピーすればできるのですが、行が多いので関数でひとつ作ってそれを下の行へコピーすれば楽にできるのかなと思いまして・・ 例えば、  C1セルに「=A1+B1」という計算式が入っているとして、  D1セルに「=A1+B1」と式自体を表示させたい。 という場合に。D1に関数をいれればいいとかありますか?

  • セルの数式を計算させないで文字列として表示させたいのですが

    例えばB1セルに=sum(A1:A5) と打つとその計算結果が表示されます。 そして僕は、その下のB2セルに、「=sum(A1:A5)」と、文字列として表示させたいのです。 どうしてかと言いますと、B1セルには「=sum(A1:A5)」と打ったんだよ ということを B2セルに表示させておきたいのです。 そうすればそれをプリントして、暇なときに見たりして ああ、このセルには「=sum(A1:A5)」と打ったんだな、とわかり、 いろんな関数を覚えれると思ったからです。 しかし、B2セルにB1セルをコピーしてしまうと、B2セルは=sum(A1:A5)となってしまい、 当たり前ですけど計算結果が表示されてしまい、 「=sum(A1:A5)」を文字列として表示できないのです。 何かうまい方法はないものでしょうか? VBAで出来そうな気はするのですが出来ませんでしょうか?

  • Excelで1行目から52800行目のフィルドラッグを簡単にする方法

    A列1行目のセルにSUM関数が入っています。SUM関数をA列52800行までコピーするのに、フィルドラッグするしか方法を知りません。 昔、最初のセル(A列1行目)と最後のセル(A列52800行目)を選択して、キーボートとマウスを使うと一気にコピーできる方法を聞いたのですが…。忘れてしまいました。 何か簡単な方法はあるでしょうか?

  • エクセルの文字列中の指定した位置の文字列の置き換え(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 林 2 森 3 根  林 5 4 根   梨 3 例えば、B1に答えを返したいと思います。 条件は、A1の文字列(林檎)と同じ文字列のものをD列から検索し、検索されたら、その行のE列の値を返したいのです。 答えは5なるようにしたいです。 またA列の文字群は変化するので、特定な文字検索というよりは、セルにはいっている文字列を検索したいです。 たいへん困っております。分かるかたよろしくお願いします。

  • エクセル関数について

    エクセルの関数式についてです。 ネットでもいろいろ検索してみたのですが、どうしても解決できません。 どなたかお分かりになる方、教えてください。 たとえば。。 [A1]のセルに、"(1)という文字列が含まれる場合は、[B11]のセルのコピーを、 "(2)"という文字列が含まれる場合は、[B12]のセルのコピーを、 "(3)"という文字列が含まれる場合は、[B13]のセルのコピーを表示させたいのです。 ちなみに、[B11],[B12],[B13]のセルには、SUM関数式が入っています。

  • エクセルで数字の文字列を計算させたくないのですが、うまく出来ません。良い方法はないでしょうか?

    エクセル2003で、下記のようにセルに入力したとします。    A   B   C 1  10   20 2  11  ’21 3  13   14 4 ※B2は「’」をつけて数字の文字列として認識させています。 B4のセルに、=SUM(B1:B3)とすると、うまく34となってくれますが、 C2のセルに、=A1+B2とすると、32となってしまいます。 当方としては、B2を文字と認識してほしいので、求めている答えは11です。 数字の文字列を文字列のまま処理して、計算させない方法はあるでしょうか? 皆様、ご教授願います。

専門家に質問してみよう