添付ファイルより
年間の達成率「O9」の現在「68%」になっている部分なのですが、
契約済欄が入力されているところまでを反映させる形で、数値を表示させたいのです。

添付ファイルで言うと
現在3月まで契約済欄が入力されています。
つまり「O9」には (C7:I7)/(C8:I8) を反映させたい

契約済欄が6月まで入力されれば
「O9」には (C7:L7)/(C8:L8) を反映させたい

そんな計算式があれば教えてください!

「エクセルの計算式がわからない。。」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (5件)

C9セルに


=IF(ISBLANK(C$8),"",SUM($C$8:C$8)/SUM($C$7:C$7))
と入力する。

D9セルに
=IF(ISBLANK(D$8),C$9,SUM($C$8:D$8)/SUM($C$7:D$7))
と入力する。

入力してから、D9セルを「セルのコピー」で「E9~N9」までにコピーする。

すると、E9~O9に
=IF(ISBLANK(E$8),C$9,SUM($C$8:E$8)/SUM($C$7:E$7))
=IF(ISBLANK(F$8),D$9,SUM($C$8:F$8)/SUM($C$7:F$7))
=IF(ISBLANK(G$8),E$9,SUM($C$8:G$8)/SUM($C$7:G$7))
=IF(ISBLANK(H$8),F$9,SUM($C$8:H$8)/SUM($C$7:H$7))
=IF(ISBLANK(I$8),G$9,SUM($C$8:I$8)/SUM($C$7:I$7))
=IF(ISBLANK(J$8),H$9,SUM($C$8:J$8)/SUM($C$7:J$7))
(以下略)
と言う式がコピーされる。

O9セルに
=N9
と入力する。

あとは、一緒にコピーされて変わってしまった、セルの罫線を引き直しする。

8行目の契約済数の部分が「空白セル」になっている月以降の達成率は、空白じゃない最後の月の達成率がスライドしてきて表示される。

年間の達成率を「常に最終月の達成率と同じ」にしておけば、自動的に「空白じゃない最後の月の達成率」になる筈。

新しい期の表を作る時は、表ファイルをコピー後、C8~N8の契約済数をブランクにしてしまえばOK。
    • good
    • 0

質問のデータ実例で、画像貼り付けは、やめてほしい。


字が小さかったり、画像がぼやけてたりして読めない場合が多い。質問者自信でも質問を挙げた後に見てみるぐらいのことはすること。
==
質問文章の中でシートデータを工夫して、記述のこと。
    • good
    • 0

一例です。


年間の達成率のO9は、年間用として今のままでよいと思う。
C9~N9に達成率の行があるのだからその月度までの達成率を表示するとしては如何がでしょうか。
一例です。
=IF(C$8<>"",SUM($C$8:C8)/SUM($C$7:C7),"")
    • good
    • 0

図で見るところ7行目が目標値で8行目が契約済みの値であるように見えますね。

したがって達成率は8行目の合計を7行目の合計で割った値ではないでしょうか?
こちらの仮定のとおりだとすればO9セルに入力する式は次のようにします。

=SUM(C8:INDEX(C8:N8,COUNT(C8:N8)+2))/SUM(C7:INDEX(C7:N7,COUNT(C8:N8)+2))

これで8行目に入力されたデータまでの達成率が表示されます。

なお、O9セルの表示形式は%表示にすればよいでしょう。
    • good
    • 0

添付図は小さくなってしまって詳細が判読できませんが,O8にはデータが記入されている範囲での合計が計算できていますね。


今まだ数字が入っていない4月以降の「空白セル」が,
 ・これから手打ちで数字を入れていくので今は全くの空っぽセルである
 ・実は数式が記入してあって""が計算されて出ている
などの具体的な姿によっても,適切な数式が変わってきます。

あと,あなたは
達成率 =(C7:I7)/(C8:I8)
などとてきとー書いていますが,達成率というと
=8行の合計÷7行の合計
じゃありませんか?


そういうのをひっくるめて,たとえば
O9:
=SUM(C8:N8)/SUMIF(C8:N8,">=0",C7:N7)
などで。


#参考
COUNT関数とOFFSET関数やINDIRECT関数を組み合わせる手などもありますが,ブックを開いて何もせずに閉じるだけでも「保存しますか」とイチイチ聞いてくる原因になります。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Qエクセルで達成率を求めたいのですが

エクセルで達成率を求めたいのですが

合計の数値があって 150問の 難問できたかを%で出したいです

=SUM(150*S3%) としてもうまくいきません


s3は合計の数値 本当はどんな数式が入ればいいの?

Aベストアンサー

こんにちは。maruru01です。

基本的には、下の方々の回答にあるように、
達成率=達成数÷総数
なので、S2:総数(150)、S3:達成数とすると、

=S3/S2*100
(No.1の方の回答)
です。
また、「*100」を除いて、

=S3/S2

としておいて、このセルの表示形式を[パーセント]にすれば、「%」記号付きのパーセントの値が表示されます。
なお、

=S3/S2%

とすると、100倍された値(パーセント値、ただし「%」は表示されない)になります。

なお、No.1の方の指摘にもあるように、SUM関数は引数(かっこ内)の範囲を合計した結果を返す関数です。
今回のように割合を求める場合には、まったく使用する意味も必要もありません。

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Q達成率を出したい。

添付の表のような場合、達成率をどのように算出したらよいでしょうか?
すべてに適応できるような数式はありますか?
ご教授願います。

①計画が0、実績あり。→達成率は100%?
②計画が-260、実績が-220もしくは10(どちらもプラスになった場合)
③計画が365、実績が0→達成率はマイナス?
④計画、実績ともに0の場合。

Aベストアンサー

一般的には
実績÷計画×100%で計算します。
計画が0の場合は、その時は別途考える必要がありますが、
そもそも、計画が0とかマイナスになるということは、
その数値の意味及び単位は何なのでしょうか。(例 売り上げ目標 単位:1万円等)
それにより、計画が0とかマイナスの場合の考え方が変わってくると思います。
参考までに下記URLに達成率の計算方法が記載されています。
http://ameblo.jp/jk-kana/entry-10719165343.html

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Qエクセル計算です。添付の計算をする数式を教えてください

A~Fまでそれぞれに数値を定めています。
記号の数値の1ヵ月合計値を出したいのですが
計算できる数式を教えてください。

Aベストアンサー

オーソドックスな方法では
記号の下に、 Vlookup関数で、対応する数値を表示させて
最後に Sum関数で合計します。
例えば
仮に A1~B6が記号と数値の対応表で
9行目のA列から右に記号はあるとして
=Vlookup(A9,A$1:B$6,2,FALSE) 右へコピーみたいな。

配列関数を使えば、一発で出す方法もありますが・・・
=SUM((A1:A6=A9:AF9)*B1:B6)
と入れて Ctrl+Shift+Enterで決定して
配列関数(式が {}でくくられる)にしてみてください。

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

QエクセルVBAで、C言語のscanf("%dxxx%dto%d"&a,

エクセルVBAで、C言語のscanf("%dxxx%dto%d"&a,&b,&c);をする方法

現在、エクセルVBAに挑戦しています。
C言語は少しだけ経験がありますが、他の言語は経験ありません。

エクセルVBAで、C言語のscanf("%dxxx%dto%d"&a,&b,&c);にあたる読み取りを、指定したセルに対して行いたいのですが、どのようにすればよいでしょうか?

ちなみにすべての%dは桁数が変わるため、右から何文字とかでは対応できません。


それと、蛇足質問を2つさせてください。こちらは回答いただかなくてもかまいません。、

セルを参照するときに、Range("A1:B2")で、データを取得しますが、A1:B2の部分を変数にすることはできないのでしょうか?

これはchr(64)+iで解決できたので、良いと言えば良いのですが、もっと標準的と感じられるしっくりくる方法があればいいのですが・・・

それからもうひとつ。VBAで参照するセルを指定した後に、シート上で行や列の挿入・削除を行うと、参照先のセルが変わってしまいますが、通常のシート上でのSUM(A1:A3)がA列に列を挿入するとSUM(B1:B3)になるように、VBAでも連動はできないのでしょうか?

エクセルは使いやすくて便利ですが、自由度が高いだけに難しいですね。
めんどくさく感じたCの型縛りが実は使いやすく感じる今日この頃です。

お忙しい中とは思いますが、よろしくお願いします。

エクセルVBAで、C言語のscanf("%dxxx%dto%d"&a,&b,&c);をする方法

現在、エクセルVBAに挑戦しています。
C言語は少しだけ経験がありますが、他の言語は経験ありません。

エクセルVBAで、C言語のscanf("%dxxx%dto%d"&a,&b,&c);にあたる読み取りを、指定したセルに対して行いたいのですが、どのようにすればよいでしょうか?

ちなみにすべての%dは桁数が変わるため、右から何文字とかでは対応できません。


それと、蛇足質問を2つさせてください。こちらは回答いただかなくてもかまいません。、

セルを参照...続きを読む

Aベストアンサー

scanfはCの最初に出てくる関数ですが、実際はポインタ
を理解していないとその中身は初級
でも理解しにくい関数です。そのポインタについて、
エクセルVBA、あるいは他のVBAやVBも含めて、
メモリ上のポインタを取得して云々という概念は
ほぼ無い(厳密にはないとは言えませんが)、
あるいは直接扱うことはない、
ということです。もちろんポインタやアドレス関して
アドレスの取得関数などは存在しますが、
http://support.microsoft.com/kb/199824/ja
(表示されている関数はNETではなくなりますが、
Excel、Accessなどではまだ使えるようです)
これらは質問者さんの考えているものには
使えない、と考えてください。したがって、VBAやVB
ではコンソールプログラミングの概念を
一度はずして取り掛かるのがいいのでは
と思います。もちろん、フロー制御や
いろいろなアルゴリズムは概念として
は同じだと考えていいのではないでしょうか。
もちろん、Cはウィンドウを作ろうと思えば
作れるのでCがコンソールだけだとは言いませんが。
質問のニュアンスでは一応このようにしておきます。
VBAではポインタを意識することはまずありません。
しかし、ポインタの考えはどの言語においても
重要です。

したがって、scanfのようにポインタが指す
オブジェクトに、標準入力から読み込んだ値を入れる
関数は存在しない、と考えてください。
セル、あるいはフォームのテキストボックスなどの
オブジェクトに値(数値、文字、文字など)を入力し
受け取り、加工または指定変数に入れ加工と考えてください。

型の厳密さについては本来は同じだと思ってください。
参照渡し、値渡し、変数の型宣言なども明示的に
行なうのが原則で、はずれればエラーが出ますし、
結果が違ってきます。プログラムで型の間違い
、あるいは変数宣言しないでエラーがでるはずの
コードがエラーなしで実行できるかのようなコード
をこのOKWAVEでも見ます。たぶん、Option Explicit
をコードに表示せずにコンパイルしているのではと思います。

ただ、Variant型については少し研究してみて
ください。便利ですが、多用すると
どんぶり勘定になります。
また、Variantでなければならない、という場面も
あります。

それと、ついでに、メモリリークの回避、
あるいは、OSにプロセスを残してしまう
ことでのトラブルなどの回避のために、
コードの終わりに不必要なメモリ上の
オブジェクトの終了、削除はこまめに
行なう、という習慣も大事です。

VBAに似た言語で型宣言をしないVBScriptのようなものも
ありますが、ここでは割愛。

scanfはCの最初に出てくる関数ですが、実際はポインタ
を理解していないとその中身は初級
でも理解しにくい関数です。そのポインタについて、
エクセルVBA、あるいは他のVBAやVBも含めて、
メモリ上のポインタを取得して云々という概念は
ほぼ無い(厳密にはないとは言えませんが)、
あるいは直接扱うことはない、
ということです。もちろんポインタやアドレス関して
アドレスの取得関数などは存在しますが、
http://support.microsoft.com/kb/199824/ja
(表示されている関数はNETではなくなりますが、
Excel、Acce...続きを読む

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Qエクセルで0.1という数字を%表示で0.1%としたい。1%にしたくない。どうしたら?

エクセルで0.1という数字を%表示で0.1%としたいのですが、
セルの書式設定でパーセンテージ表示にすると、
百分率で計算されて、1%となってしまいます。
本来これでよいのですが、
今回、そのままの表示0.1%としたいのですが、
1番スムーズにできる方法を教えていただけますでしょうか。

とりあえず、0.1を文字列に変換し(●と仮定)、隣に%だけのセルを作り(▼と仮定)し、さらに=CONCATENATE(●,▼)と計算式を入れて表示させているのですが、大量でバラバラにデータがあるため、大変時間がかかってしまっています。

お分かりになる方がいらしたらよろしくお願いいたします。

Aベストアンサー

セルの書式を以下にしたらどうでしょう。「0.1%」と表示されるはずです
 0.0"%"


人気Q&Aランキング

おすすめ情報