• ベストアンサー

どんなexcel関数が必要でしょうか。

A列の合計値150の中でA1のセルの値が合計値のどれだけの割合を占めているかをB列に表示したい場合、=A1/A7でB1のセルは表示出来ますが、その数式を下にコピーすると=A2/A8となって#DIV/0!になってしまいます。単純にC列に150という値を貼り付けて横に計算していけば簡単でしょうが、それをせずに関数式だけでB列の答えを出すにはどうしたら良いでしょうか。 A   B 10 6.7%  20 #DIV/0! 30 #DIV/0! 40 #DIV/0! 50 #DIV/0! 150

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

=A1/A7 を =A1/$A$7 として、下にコピーする

march29
質問者

お礼

早速の回答ありがとうございました。

その他の回答 (3)

  • okormazd
  • ベストアンサー率50% (1224/2411)
回答No.4

=A1/A7 で、 A7をクリックした後またはA7と入力した後、F4キーを押してください。 =A1/$A$7 になります。 相対参照→絶対参照→・・・などに切り替わります。 これでドラッグコピーしてください。

march29
質問者

お礼

F4キーで変更出来るとは・・・。軽く感動しました。早速の回答ありがとうございました。

回答No.3

絶対参照と相対参照について一度調べてみてください。

march29
質問者

お礼

早速の回答ありがとうございました。勉強してみます。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

そのままの方法でやるなら、式を  =A1/$A$7 とすれば良いです。 $を付けると「絶対参照」を意味することになり、参照の対象とするセルが変化しなくなります。(付けないと相対参照=相対的な位置関係を維持する) 一発で出すなら  =A1/SUM($A$1:$A$5) みたいなのもあります。

march29
質問者

お礼

絶対参照ですか。とても勉強になりました。ありがとうございました。

関連するQ&A

  • エクセルで挿入した列に関数が値を返しません。

     エクセルで列を挿入したセルに、関数を入力しても値を返しません。 関数を入力しても、数式バーに表示される数式がセルに表示されるだけで、答えは出ません。式はあっていて、違うセルに数式をコピーして張り付けると、値を返します。  また、挿入した列に元からある空白の列をコピーして貼り付け、関数を入力しても値を返します。  どこかで変な設定をしてしまったのでしょうか?  分かる方、どうか教えてください。

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • Excelの関数について

    Excelの関数について 今表を作っていて 1日数回データを取って それを1ヶ月ぐらい続ける予定で その結果をExcelの表に入力したいと思っています。 A列に現在値 B列に増加分 C列にA+Bの値を入れたいと思っています。 なので、C列には、C1には=SUM(A1,B1)として セルの右下にポインタを合わせて十字で下まで引っ張って関数をコピーしています。 で、そうするとC列に0が表示されてしまい それはなんとか、ツール→オプション→表示→ゼロ値のチェックを外して解決したのですが C列の合計値は次の行のAのセルに表示したくて 例えば C3の数値はそのままA4に C7の数値はそのままA8にといった感じで で、A2のセルに=C1とかA5のセルに=C4とかしたのですが いちいち関数を埋め込むのは面倒くさいので 下のほうまで関数をコピーしたところ 関数が埋め込まれているので A列とB列にしたの方まで同じ数字が表示されています。 これって消すことはできないのでしょうか? 現在は 最初のA1セルだけに数値を入れたのですが関数を埋め込んだことにより A列とB列すべてにA1セルの数値が表示されています。 まだデータを取っていないのでB列は空白です。 ただ、できれば、下の方に数値が表示されないようにしたいんです。 言葉で説明すると A列とB列に数値が入力されない限り、C列の合計値は表示されない設定にできれば 私の言っているような状況になると思うのですが、そういう事はできないのでしょうか… 教えてください。

  • Excelの関数について

    Excelの関数について 私のExcelは2003です。 表を作っていて A列とB列に数値を入れてその合計をC列に自動的に出すようにするのは C列に「=SUM(A3,B3)」と入れますよね? 1日数回のデータを取り A列とB列に数値を入力し 1ヶ月ほどデータを取り続けるので その分C列に入れた関数を下へセルの右下にポインタを合わせて十字の記号を出して 下へ関数を入れたのですが その場合C列には0と表示されますよね? これは防げないものなのですか? 後、そのC列に表示された合計値を 次の行のA列に表示させたいのですが そういう関数はありますか? C列の合計値に次の数を足して、合計値をどんどん増やしていくので 例えばC1の値をそのままA2に表示。 C2の値をそのままA3に表示 C5の値をそのままA6に表示としたいのですが 関数があったら教えてほしいです。

  • Excel 関数 計算式について

    Excel関数について教えて下さい。 下記のようにExcelの縦列で、A列とB列があるとします。 A列の数値が「1」で、かつB列の数値が「2.5」以下の数(割合)を算出するにはどのような関数(計算式)を使えば宜しいでしょうか? また、上記の計算をすると同時に、その計算結果に当てはまる”B列”の数値を計算して、B列の合計数と平均数を割り出すためにはどのような関数(計算式)を使えば宜しいでしょうか。 個人的には、幾つかのセルに計算式を分ける必要があるかと思いますが、セルを分けるパターンでも分けないパターンてもどちらでも結構です。 但し、実際に計算式を記入するセルはA列でもB列ではなく、X列となります。 A列    B列 1      2.4 3      3.5 5      3.6 2      2.7 1      2.1 1      3.0 4      2.2 1      2.8 2      1.6 1      1.9 1      3.4 3      1.7 1      1.4 宜しくお願い致します。

  • Excelでこのような関数はありますか?

      A   B  C  収入支出合計 1   5   5 2   10   15 3   10   5 ↑のように入力されています。C2とC3のセルの計算式を見ると、 C2→C1+A2 C3→C2-B3 と入力されていたとします。 毎回C列の合計に上のような計算式を入れるのは面倒なので、関数を使用してもっと楽に計算をしたいのですが条件によって計算を変えること(今回の場合はA列に値が入力されたら足す、B列に値が入力されたらひく)はできるのでしょうか?よろしくお願いします。 説明がわかりにくければ補足していただければと思います。

  • エクセル CONCATENATE関数

    エクセル2003のCONCATENATE関数で作ったテキストを関数化(数式化)できないでしょうか。 たとえば、C3のセルに下のCONCATENATE関数を入れ =CONCATENATE(D3,E3,F3) 文字列"=sum(A1:A10)" を表示させ、 その後CONCATENATE関数をのぞき、=sum(A1:A10)を計算させたいのです。 CONCATENATE関数で合成されたセルをコピーし、形式を選択して貼り付けから値だけを貼り付けても、なぜかうまくいきません。 =sum(A1:A10)とC3に表示され、計算は実行されません。

  • Excelの関数について

    [C1のセル値]-[A1またはB1のセル値] を使って計算したい場合の計算式を教えて下さい。 A列、B列、C列には具体的な数値を入力します。 D列にその結果を表示させる関数を入力したい。 と考えています。 但し、以下の条件を満たす事が必須となります。 (1)A、B、またはCのセルが未入力の場合はDは空白セルのまま。 (2)A、Bいずれかの一方が入力されている場合はCの値を使って計算し結果を表示。 (3)A、Bいずれも入力されている場合はBを優先してCの値を使って計算し結果を表示。 よろしくお願いします。

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

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • EXCEL 2003で条件に合った合計を求めたい

    ______A ____B____ C_____D 1___111___ 1 ___10___ 60 2___111___ 2 ___10 3___222___ 2 ___10 4___333___ 1 ___10 5___333___ 2 ___10 6___333___ 3 ___10 7___444___ 1 ___10 8___444___ 3 ___10 9___555___ 1 ___10 Excel 2003環境において、上記A1:C9を対象に関数で下記条件を元に数式をD1に入力して値を求めたいです。 条件: A列の同じ値のセルを一つのグループとし、かつその中で、B列で1から始まる連番となっているグループを対象にC列のセルを合計する。 上記のセル範囲で条件に合う行は1,2,4,5,6,9行目で答えは60になります。 SUMPRODUCT関数やIF関数を併用してみましたが、うまく作ることができませんでした。 なんとか作業列やVBAを用いずに一つの数式で済ませたいです。 よろしくお願いします。

専門家に質問してみよう