関数の一部分を変更する方法

このQ&Aのポイント
  • 関数の一部分を変更する方法について教えてください。
  • 別シートで利用している関数の一部分を変更したいです。
  • 関数の一部分を変更する方法を教えてください。
回答を見る
  • ベストアンサー

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

別シートで利用している関数を使って、関数の一部分だけを変更したいのですが、 どのようにすればできるのかわかりません。教えてください。 (イメージ) 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) 」と表示される。 こうなると、どうやって関数を変更することができるのでしょうか? 関数については、ほとんど皆無に等しい知識しかなく、やればやるほど混乱しています。 質問の説明が悪くて理解しづらいかもしれませんが、ご教示いただけると助かります。 よろしくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

ご質問内容が理解できませんが、「やりたい事」から類推すると次の様な事でしょうか。 (1)sheet2のC1を選択、数式欄に「=SUM(」と入力、A1を左クリックし、「,」を入力 (2)sheet1タブを左クリック→A2を左クリック→shiftキーを押しながらA3を左クリック→「)」を入力→enterキー押下 因みに関数のコロン(:)はセルの範囲を指定する場合に使用しますが、今回の様にシートを跨る場合、やセルが離れる場合は、カンマ(,)で区切る必要があります。 もう少しエクセルの基礎的な部分としてカンマ、コロン等セルに関わるは点は学習して下さい。

mame123456
質問者

お礼

つたない質問で申し訳ありませんでした。 質問内容的には謎も少し残りますが、勉強にもなりました。 ありがとうございました。

mame123456
質問者

補足

ご回答いただき、ありがとうございます。 皆さんに、分かりやすく説明をというつもりで、自分なりに簡略化してご質問したのですが、 混乱を招く質問の仕方のようで失礼しました。 教えていただいた内容で質問の対応については理解致しました。 が、今回は合計(SUM)での関数だったので、(1)、(2)の方法はできたのですが、、、 下記の場合ではどのようになりますか? (1) Sheet1で (各セルに対して、右のような数値が入っています) A B C D 1  -180 -90 0.1111 -2.6 2  -90 -25.8 0.1963 5.064 3  -25.8 25.8 0 0 4  25.8 90 -0.1963 5.064 5 90 180 -0.1111 -2.6 10  30 そして、 A15セルにて =IF(($A$10>=$A1)*AND($A$10<$B1),$C1*$A$10+$D1,0) A15をドラッグして、下記のようにしたいのですが、 B15  =IF(($A$10>=$A2)*AND($A$10<$B2),$C2*$A$10+$D2,0) C15  =IF(($A$10>=$A3)*AND($A$10<$B3),$C3*$A$10+$D3,0) D15  =IF(($A$10>=$A4)*AND($A$10<$B4),$C4*$A$10+$D4,0) 普通にドラッグすると、うまく反映できません。 $A$10については「絶対参照」指定しているので特に問題ないのですが、 $A2や$B2・・・などが予定外の値になってしまいます。 それを回避すべく、A15、B15、C15を地道に入力してからD15にドラッグすると、 D15   =IF(($A$10>=$A1)*AND($A$10<$B1),$C1*$A$10+$D1,0) とこれまたA15と同じ関数になってしまいます。 最低限のセル入力だけでE15まで入力する方法を教えてください。(実際にはM15まであります) (2)次に・・・ (1)の設定が無事にできたとして、(下記関数が希望) A15にて =IF(($A$10>=$A1)*AND($A$10<$B1),$C1*$A$10+$D1,0) B15にて  =IF(($A$10>=$A2)*AND($A$10<$B2),$C2*$A$10+$D2,0) C15にて  =IF(($A$10>=$A3)*AND($A$10<$B3),$C3*$A$10+$D3,0) D15にて  =IF(($A$10>=$A4)*AND($A$10<$B4),$C4*$A$10+$D4,0) これを利用してSheet2でも $A$10の部分だけSheet2の$G$40に変換したいです。(他はSheet1を読みにいきたい) 恐らく下記の関数でもよいとは思うのですが、 A15にて =IF(($G$1>=Sheet1!A1)*AND(Sheet2!$G$1<Sheet1!B1),Sheet1!C1*Sheet2!G1+Sheet1!D1,0) A16にて =IF(($G$1>=Sheet1!A2)*AND(Sheet2!$G$1<Sheet1!B2),Sheet1!C2*Sheet2!G1+Sheet1!D2,0) A17にて =IF(($G$1>=Sheet1!A3)*AND(Sheet2!$G$1<Sheet1!B3),Sheet1!C3*Sheet2!G1+Sheet1!D3,0) A18にて =IF(($G$1>=Sheet1!A4)*AND(Sheet2!$G$1<Sheet1!B4),Sheet1!C4*Sheet2!G1+Sheet1!D4,0) 絶対参照やドラッグなどをもっとうまく活用したいのですが、どういった方法がありますか? 今は各セル毎に、Sheet1と2を行ったり来たりしながら全て入力しています。 上手な説明ができずに申し訳ありませんが、どうぞお力を下さい。 よろしくお願いします。

その他の回答 (1)

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

私も質問の意味(質問者の場合とニーズ)が良くわかりません。 Sheet1のB1に入っている式をSheet2のC1セルにコピペして A1:A3の合計を出したいなら、Sheet1の関数の中のセルの番地を絶対番地指定にすれば良いのではないですか。 Sheeet1のB1の =SUM($A$1:$A$3)をコピーしてSheet2のC1(B1と比べ貼り付けセル位置が変わった)に貼り付けると、 Sheet2のC1の式は=SUM($A$1:$A$3)になる(形は元のまま)。 こんなことならExcelの常識で、質問にならない箇所ですが。 Sheet1とSheet2の各々で(1)合計(加数)するセルと(2)式を置くセルについて、式の上で、何処が同じで、何処が変わるのかをはっきり書かないと、質問の真意を誤解し、答えを間違う。

mame123456
質問者

お礼

つたない質問で申し訳ありませんでした。 質問内容的には謎も少し残りますが、勉強にもなりました。 ありがとうございました。

関連するQ&A

  • エクセル 別シートのアクティブセルのアドレス

    エクセルに詳しい方、教えてください。 (1) シートAのアクティブセルのアドレスをシートBのC20のセルに表示したい   (2) シートAのアクティブセルの内容をシートBのD20に表示させたい 以上、しーとBのC20とD20にはどんな関数を入れたらいいですか? よろしくお願いいたします。

  • 関数の計算結果を再度関数に組み込む方法は

    例えばです。  A) セルA1に 「10」、   セルB1に「20」  、 セルC1 に 「30」    の各々の数字が入力されていて、セルD1にSUM関数を使って、合計した    数値を入力するものとします。    セルD1には、SUM関数計算結果として「60」という数字が表示される。  ここからが、質問のポイントなのですが、  B)セルE1にセルD1に表示された「60」の18倍した計算を自動計算した結果を表示することはでいないのでしょうか。   あまりうまく表現できないのですがアドバイスしていただきたい点お分かりいただけたでしょうか。   別の表現の仕方をしますと、      セルD1、SUm関数   セルA1+セルB1+セルC1のSum関数の計算結果表示      セルE1          セルD1×18                           ※セルE1には、上記の「セルD1×18」の自動計算式を入力したいのですが、       首尾よく入力できません。   あまり要領よく質問できていないかもわかりませんが、よろしくお願いします。

  • Excel関数コピーについて

    Excel関数を横にコピーした時に、 その前の関数の次の列から計算式を作成したいのですが可能でしょうか? D1セルには、=SUM(J2:L2)が入ります。 (B1の関数であれば、A1がC2まで計算しているのでD2からはじまります) A1セル B1セル C1セル     ・・・ =SUM(A2:C2) =SUM(D2:F2)  =SUM(G2:I2)  ・・・ 教えてください。

  • エクセル2003 #N/A含む複数シート数値合計

    複数のワークシートの数値の合計がうまく出ません。 A,B,C,Dという名前のシートのセルA2の数値の合計を 「集計」というシートのセルA3に出したいのですが (ちなみにA,B,C,DシートのセルA2にはvlookup関数がはいってます) 例えばシートBのセルA2の表示が#N/Aだと sum、sumif関数で合計を出そうとしても 「集計」シートのセルA3には#valueと出てしまいます。 うまく#N/Aをのぞいて数値の合計値を出す方法はありますか?

  • excelでデータを別シートに引っ張ってきたい

    excelで値を検索し、返す時、返す値の横にあるデータを違うシートのセルの下に一緒に引っ張ってきたいときの関数(方法)を教えてください。 素人なので分かりにくいと思いますが、お知恵をお借りしたいと思います。 あるデータのシートの検索値を別シートに持ってきたいのですが、シート1をシート2のようにしたいのです。 /は空白 例)シート1 /A B C D E 1(1) □ ○ ▽ ◎ 2 (2) ▼ ■ ◇ ◎ シート2 / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 分かりにくいかもしれませんが、 シート1の(1)(A1)を検索すると、シート2(B1)に□(これはVLOOKで引っ張ってこれるのはわかります。) 次にシート1の(C1)○をシート2の(B2)へ持ってきたいのです。シート1(D1)(E1)はシート2の(C2)(D2)へ。 しかもシート1のC列は空白セルもあり、シート1のC列が空白の場合、下にずれることなくシート1の(D1)(E1)はシート2の(C1)(D1)へ。下記<図a>のようになるようにしたいのです。 そして、シート2のA列に検索値として入力する(1)や(2)の値は連番ではなく、(2)の次に(5)に飛んだりします。(2)の行のC列にデータがあっても、(5)のC列にデータはないこともあります。<図b> <図a> /A B C D 1 (1) □ ▽ ◎ 2 (2) ▼ ◇ ◎ <図b> / A B C D 1 (1) □ 2 /○ ▽ ◎ 3 (2) ▼ 4 /■ ◇ ◎ 5 (5) □ ▽ ◎ 6 (7) ▼ ◇ ◎ vlookとかCLUMN関数とか考えてはみたのですが、どうもうまくいきません。 毎回作成するデータなのですが、毎回コピペで作成しています。 とても面倒なので(1)を検索したらデータが一瞬で検索できるようにしたいと試みてはみたものの、私の知識では不可能でした。 関数では無理なのでしょうか。。。 関数はあまり詳しくないので分かりやすい方法があれば、教えていただければ助かります。 関数に詳しい方、よろしくおねがいいいたします。 関数にはこだわっていません。違う方法があればそれも含めておねがいいたします。

  • 別のシートの計算式を利用したい

    関数や数式が入力されているセルを別のシートで=Sheet1!A1のように指定 するとそのセルに表示されている計算結果が表示されますが そのセルに入力されている数式自体を他のシートで利用するにはどうしたらいいのでしょうか? 例 Sheet1のA1に=A2+A3とすると Sheet2のA1にも=A2+A3(Sheet2のA2+A3としたい)となり Sheet1のA1の式を変更するとSheet2のA1の式も連動して変更して欲しい

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

    ご教示お願いします。 =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と入力するのが正しいやり方なのかはわかりませんが。

  • EXCELの関数で別のシートからデータを取り出す方法について

    こんばんは。 excelの関数で次のようなことができますか? sheet1 A     B   C 123 125 122 sheet2 A    B    C     D 122            りんご 123           みかん 125            バナナ 上記のようなデータがsheet1とsheet2にあります。 sheet1のC列にA列のセルの番号と対応した商品を sheet2のA列とD列に対応データから引用できますか? (となりに並んでいないデータです。) 関数的にはvlookup,index,matchとかを使うとよさそうですが うまくいきません。 解決方法を教えてください。 よろしくお願いします。

  • エクセルでシートを串刺しに合計する関数

    Sheet1からSheet4の同一セルの数値を、Sheet5のセルに合計して表示する関数はないでしょうか? =SUM(Sheet1!A1:Sheet4!A1)ではだめでした。

  • indirect 関数を使った複数シートの範囲指定方法

    エクセルでindirect 関数を使って作成してますが次のように出来ませんので、どなたか教えてください。 質問を検索してましたが見つけることが出来ませんでした。 以前の回答に同内容の回答があればそれを教えていただけるだけでも助かります。 12枚(1年分)の同一シートが、4月から3月まであります。(シート名は、それぞれ4,5,6・・・3と数字のみです) 別の集計シートに各シートの同座標のセルの集計を串刺し計算で行うと、=sum('4:3'!d20)でいいのですが、indirect関数で 別セルにそれぞれ A1=「4」B1=「3」(可変にして)を入力して参照した結果を求めたいのです。 '4:3'の部分を INDIRECT(A1&":"&B1&"!" & D20)) 等色々試しましたがどうしてもうまくいきません。 (#REF!となったりする) 単シートだけで有れば、=SUM(INDIRECT(A1&"!" & D20))で参照できるのですが・・・・ 恐らく、複数シートに設定した時の連続した範囲の「:」の扱い方に問題があるのじゃないかと思うのですがどなたか教えてください。 ちなみに、ピボットテーブルを利用する方法は、想定していません。

専門家に質問してみよう