• ベストアンサー

エクセル 関数の参照セルの変更

ご教示お願いします。 =IF(C5=1,A5/B5,0)という式のC5の部分をD5,E5,F5・・・と変更したいのですが、式の中を手入力で変更するのではなく、他のセル(例えばセルA1)にD5,E5,F5・・・入力すると式C5の部分が変更されるようにしたいです。 例)セルA1にD5と入力すると関数=IF(C5=1,A5/B5,0)が=IF(D5=1,A5/B5,0)に変わるみたいにしたいです。セルA1にD5と入力するのが正しいやり方なのかはわかりませんが。

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

  • ベストアンサー
  • agthree
  • ベストアンサー率72% (233/323)
回答No.1

=IF(INDIRECT(A1)=1,A5/B5,0) でいかがでしょうか?

kozou1126
質問者

お礼

解決しました。 ありがとうございました。

その他の回答 (1)

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

変動するセルを指定するやり方が2,3あってそれにより式が変わる。エクセル関数式の中の上クラスの問題です。 (1)セル名(文字列)で指定する(決まったセルに入れる) (2)列番号数で指定する(場合によっては行番号)同じ決まった行内の列という前提である。本質問もそれらしい。 (1)はINDIRECT関数を使い、#1のご回答(定石的) (2)は列がABC・・の記号化しにくいが、(選択列数範囲が少数ならCHOOSE関数が利用で出来る) 列指定でも文字列例えばCだけA1に入力するなら=INDIRECT(A1&"3")のように出来る。第3行の例 行指定なら=INDIRECT("A"&A1) A列の例 または INDEX関数やOFFSET関数で(下記はINDEX関数利用) 例データ Å1 に5 A2:E3に 12 5 10 2 I2に式 =A2/INDEX($A2:$H2,1,$A$1) I2にも式複写 結果 I2:I3 2.4 5

kozou1126
質問者

お礼

こういった方法もあるのですね。 参考になりました。 ありがとうございました。

関連するQ&A

  • エクセル 関数の中で他のセルの数値を参照させれませんか?

    エクセルについてお教えください。 関数の式の中で、式の一部を他セルの数値から引っ張ることはできないでしょうか? 具体例を示しますと   =IF(A○>0,B△,C×) のような関数の際に、「A○」の○の部分を、「D□」に入力した数値に指定したい場合です。 そのようなことは可能でしょうか?

  • エクセルの関数を教えてください。

    セルHにIFとANDを使って下記内容の関数式を入力したいです。 セルAからセルF内すべてに数値が入っていたらセルFを返す、 セルFが空欄ならばセルEの数値を返す、 セルEも空欄ならばDの値を、 Dも空欄ならばCの値を、Cも空欄ならばBの数値を、 Bも空欄ならばAの数値を返し、 Aも空欄(つまりAからF内に数値なし)ならばスペースを返す。 わかる方、教えてください。 よろしくお願いします。

  • エクセル2000  合計するセルの個数を任意に変更

    2つの疑問が生じました。ご存知の方がいらっしゃいましたら、お時間の許す方にご回答をお願いします。 【1】 B1からB1000、C1からC1000までにデータが入力されているとします。 A1に3を入力するとD1にB1以下3個のセルの合計 A1に4を入力するとD1にB1以下4個のセルの合計 ・・・・・・・・・・ A1にxを入力するとD1にB1以下x個のセルの合計を表示したいのですが、このときのD1の関数式。 【2】 A1に3を入力するとE1に〔B1以下3個のセル〕と〔C1以下3個のセル〕の合計 A1に4を入力するとE1に〔B1以下4個のセル〕と〔C1以下4個のセル〕の合計 ・・・・・・・・・・・・ A1にxを入力するとE1に〔B1以下x個のセル〕と〔C1以下x個のセル〕の合計を表示したいのですが、このときのE1の関数式。 以上似たような質問なのですが、よろしくお願いいたします。

  • エクセルでのセルの参照

    sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

  • 別シートで利用している関数を使って、関数の一部分だけを変更したいのです

    別シートで利用している関数を使って、関数の一部分だけを変更したいのですが、 どのようにすればできるのかわかりません。教えてください。 (イメージ) Sheet1 A1セル: 1 ←Aとする A2セル: 2 ←Bとする A3セル: 3 ←Cとする B1セル: =SUM(A1:A3) Sheet2 A1セル: 4 ←Dとする A2セル: 5 ←Eとする A3セル: 8 ←Fとする。 やりたいこと Sheet2_C1セルに、Sheet1_B1セル「 =SUM(A1:A3) 」 (意味:A+B+C)の関数をコピーして、その関数のA1(意味:A) 部分をSheet2_A1のDに変更したい。 ∴Sheet2_C1セルには、( =(D+B+C) )という計算式になり、結果である数値(9)を表示させたい。 (実際には、IF文でちょっとややこしいのですが、イメージはこんな感じです) 現象 (1)Sheet2_C1で「 =SUM( 」としてSheet1_B1をダブルクリック。 Sheet2_C1に、 「 =SUM(Sheet1!B1) 」と表示される。 こうなると、どうやって関数を変更することができるのでしょうか? 関数については、ほとんど皆無に等しい知識しかなく、やればやるほど混乱しています。 質問の説明が悪くて理解しづらいかもしれませんが、ご教示いただけると助かります。 よろしくお願いします。

  • エクセルVBAで関数が入った空白セルの取得

    エクセルVBAで下記のようなセルの参照をしたいのですが、よろしくお願いします。(エクセル2002です)   A  B  C  D  E  F 1 78 80 セル(A1)(B1)には値も関数も入れられています。 セル(C1)(D1)(E1)には値は入っていませんが、ワークシート関数が組み込まれており空白となっています。(関数の""にて空白) セル(F1)には何も入力されていません。 今回はセル(B1)の80の値を取得できるようにVBAで下記のようにコードを組みました。 Range("F1").End(elToLeft).Activate そうすると、セル(E1)に関数があるために(?)(E1)がアクティブな状態となります。 関数が入力されていても空白として(B1)をアクティブな状態にするために良い方法はありますでしょうか? 誠に申し訳ございませんが、よろしくお願いします。

  • エクセルでの関数の書き方

    セルA1からF1があります。 A1がC1かD1で同じでかつ B1がC1かD1で同じ場合に、 D1の値をF1にセットしたいのですが、 どのように書けばよろしいでしょうか? EX. A1が1でB1が2の場合は C1がD1が1,2または2,1の場合のみ E1の値をF1にセットします。 COBOLで書くとこんな感じになると思います IF (A1=C1 OR A1=D1) AND (B1=C1 OR B1=D1) THEN MOVE D1 TO F1 END-IF. IF関数かAND関数を使用するような気がしますが、 思いつきません。 よろしくお願いいたします。 エクセル2000です。

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

    IF(A1-B1-C1-D1-E1-F1>0,A1-B1-C1-D1-E1-F1,0) 上の式は「A1-B1-C1-D1-E1-F1」が0より大きく真の場合その結果を、偽の場合0という式です。その結果の部分に前提となる式を繰り返しで記していて見た目非常に長くなります。別のセルに代入して参照以外の方法で真の場合を短くする手法は無いでしょうか?

  • セルを参照させる関数について

    C列には関数で返ってきている値が入っています。(たとえば単純にC1のセルには=SUM(A1:B1)と入っている)そのままC1を横にドラッグしてコピーするとD1のセルには単純に=SUM(B1:C1)となりますが、見に行くセルをC2に、E1のセルの参照するセルはC3を。。。という風に参照させるにはどんな関数を使用すればいいのでしょうか? (単純にD1のセルに=C2と設定はしたくないのが前提です)

  • Excelのif関数を使ったのですがうまくいきません。

    Excelのif関数を使ったのですがうまくいきません。   | A | B | C | D | E ----------------------- 1 | A | A | A | A | 5 2 | B | A | A | B | 4 3 | C | C | A | C | 2 のようにA1~D4のセルに入力されたA,B,C の組み合わせによって E5のセルに1~5の数字を入れていきたいのですがAAAA~CCCCの組み合わせが 15通りあってif関数では入れ子ができません。 AAABもAABAも同じと判断させて1~5の数字を自動的に入力させたいのですが 何かいい方法はないでしょうか。 教えてください。

専門家に質問してみよう