• ベストアンサー

Excelの空白のセルに定型式を設定する方法

Excel2003をWindows XP SP3 で使用しています。 例えば、Excelのシートに A1 のセルに全体の数 B1 のセルに任意の数 C1 のセルにパーセンテージ (B1/A1)*100 を入力しています。 このとき、列Aと列Bには、毎回数字を入力するのですが、列Cは 列Aと列Bの割合(パーセンテージ)を入力すると決まっています。 自動的に、列Cにパーセンテージを計算して表示するような設定は 可能なのでしょうか? アドバイスの程、どうぞよろしくお願い致します。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

エクセルには前4行に同じ数式があれば、数式をコピーする機能があります。 「ツール」「オプション」「データ範囲の形式および数式を拡張する」 です。 つまりデータの上から4行目まで数式を入れておけば可能です。 C1=IF(OR(A1="",B1=""),"",(B1/A1)*100) をC2:C4にコピーしておけば、C5以降は数式がコピーされます。 別回答として、入力を「データ」「フォーム」で行なうなら 項目行と数式のある行の2行があればOKです。

KuRO705
質問者

お礼

数式をコピーする機能の解説ありがとうございます。 #1さんのアドバイスと併用したいと思います。 「ツール」「オプション」「データ範囲の形式および数式を拡張する」の チェックを確認したところ、チェック済を確認することが出来ました。 便利な機能があるのですね! とても参考になりました。 別回答の手法も今後活用したいと存じます。 丁寧なご説明をいただきまして、どうもありがとうございました。

その他の回答 (2)

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

NO1です。 因みにC列のセルの書式設定で表示形式をパーセントに設定して下さい。 パーセントが不要ならば、=IF(COUNT(A1:B1)=2,B1/A1*100,"")として下さい。

KuRO705
質問者

お礼

さらに詳しい補足ありがとうございます。 とても助かります。

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

一例です。 事前にC1に=IF(COUNT(A1:B1)=2,B1/A1,"")として、必要分下方向にコピーで如何でしょうか。

KuRO705
質問者

お礼

アドバイスありがとうございます。 うまく設定することが出来ました。 #3さんから教えて頂いた機能と併用すれば、今後の入力が かなりスムーズに進みそうです。

関連するQ&A

  • エクセル セル参照

    A1セルには1~20までの任意の数を入力します B1には文字列を入力します。 A1に入力された数によって、B1セルの文字列の内容をC1~C10の各セルにコピーするにはどうしたらよいでしょうか。 たとえば、A1が3のとき、B1の文字列をC3にコピーしたい。 VBAでもかまいません。 お願いします。

  • エクセルのハイパーリンクの設定方法

     早速ですが困っています。。。 質問)エクセルシート(1)のA列のセル毎に1~3000までの数字を入力しました。 エクセルシート(2)のA列のセルに上からランダムに数字を入力した際、その数字をクリックするとシート(1)のA列に入力した同じ数字のセルにリンクする様(例えばシート(2)A13のセルに『234』を入力 → シート(1)のA列記載の『234』のセルにリンク)、シート(2)のA列に一括でリンクを設定したいのですがどの様に良いのか教えて下さい。  宜しくお願い致します。

  • エクセルの空白セルに

    エクセルの空白セルに数字を入力しました。例としてA1に2、B1に5と入力したとします。するとC1に自動的に10と出てくれました。 C列には入力する前には空白でした。0と出るはずのものをツール-オプション-表示から表示されない方法は知っていますが、その場合でも計算式は上部には「=A1*B1」と出ると思うのですが。。。それも出ていませんでした。 こういった方法はあるのでしょうか?? (つまり一見何も書式等はいってなさそうなところでも実は計算式or書式が入っていた、という方法といえばよいでしょうか) よろしくお願いいたします。 作ったのがもうすでにいない前任者なので確認もできなくて。。。

  • エクセルのセルへの色づけ方法について

    現在、エクセルで統計用のデータシートを作っているのですが、あるセルにデータが入力されると、別の列で同じ行のセルの色が変わる、という設定をしたいのです。 たとえば、 B列のセルに数字or分数が入れられた場合はA列同行のセルが黄色 C列のセルに数字or分数が入れられた場合はA列同行のセルが赤色 D列のセルに数字or分数が入れられた場合はA列同行のセルが青色 E列のセルに数字or分数が入れられた場合はA列同行のセルが緑色 表自体はAに入力されているデータで管理されているので、そこから横に派生していく条件によってAのステータスが確認できるようにしたいと思っております。 つまり、B,C,D,E,のいづれかにデータが入力された場合、その列に応じてAの色が変わるという設定です。 色が3色だったら条件つき書式で設定が出来ましたが、四色以上になってくるとIF関数を使い =IF(B1>=1,"S",IF(C1>=1,"O",IF(D1""," ","D")))みたいな式を設定し 更にそのセルを確認して色を変える方法しか思いつかず。。。 ただでさえ非常に横に長いシートなので、不必要に使用する列を増やしたくないのと出来るだけ簡素化した表にしたいと思っております。 どなたかエクセルに詳しい方がいらしたらご教示いただけないでしょうか? 尚、エクセルは2003でOSはVISTAを使用しております。 お手数ですが宜しくお願い致します。

  • EXCELの関数式内に他のセルの値を取り込む方法?

    EXCEL2002、OSはWIN XPです。よろしくお願いします。 セルのA1にランダムな数字が入ります(実際はマクロでシートの最下行が書き込まれるようになっています。) セルのB1に以下のような式で「xx」の部分にA1の値を入れたいのですが、どのようにすればよいのでしょうか? =countif(C1:Cxx,"") つまりセルB1にはC1からその時使用されている最下行までの空欄セル数を常に表示したいのです。マクロでやれば簡単だと思いますが、できれば関数で表示させたいと思っています。よろしくお願いします。

  • エクセルのVLOOKUPのとある式が作れません。。

    シート1 A列    B列    232    昭和23年      51     平成 5年  ←年が一桁の場合、小スペースが入っている シート2 A列    B列   C列 232     1    23 51      2     5  ←小スペースはなく、数字のみ抜き取りたい シート2のA列の数字をシート1のA列から探し出し、シート2のB列は昭和の場合1、平成の場合2と入力される式、シートC列には年数だけ取り出す式をなかなか作ることができません。この場合に、シート2のB列とC列にどのような式を入れておけば、シート2のA列に数字を入力されたときに表示されるのか、教えていただければ非常に助かります。。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • Excel ゼロまたは空白を除いて最小値

    A列に氏名(重複あり)、B列に値(ゼロまたは空白)があり 仮にC1セルに、A列の中から任意の氏名を指定すると D1セルにゼロまたは空白を除いて最小値を表示したいのです。EXcel2002

  • EXCELで式での空白セルの挿入方法

    A列は空白行で、B列は数値が入っていたり空白だったりする行で構成されています。 またC列からD列までの全ての行には数値が入っています。 この時A列に条件付き数式を入力して、B列が空白でなければB列に空白セルを挿入して現B列からD列を右にシフトさせたいのですが、数式で可能でしょうか? 数式で可能ならばA列に入力する式を、不可能なら参考のためVBAでの記述をお教え頂けると嬉しいです。(VBAはあまり理解しておりませんが。) 例 【処理前】 A列 B列 C列 D列 E列     22   33  44          55  66     77   88  99         100  101 【処理後】 A列 B列 C列 D列 E列 式       22  33  44 式       55  66 式       77  88  99 式      100  101 2万行の処理を1回のみしたいです。 宜しくお願いします。

  • Excelのセルに式を設定

    いつもお世話になってます win2000、Excel2000 以下のことは可能でしょうか? もしご存知の方がいらっしゃればご教授お願いします 例えば、セルA1、A2、A3に100、200、300と値が設定されていたとし セルのB1に「=ROUNDUP(100* 1.5, 1)」とあったとします ここでなのですが、B1内にある式をA1、A2、A3に反映させることは可能でしょうか? 結果として、     ↓ここはA列の値 A1は「=ROUNDUP(100* 1.5, 1)」 B1は「=ROUNDUP(200* 1.5, 1)」 C1は「=ROUNDUP(300* 1.5, 1)」 にしたいです。 宜しくお願いします

専門家に質問してみよう