• ベストアンサー

Excelでセル入力の判定をしたい

Excel2000を使用しています。 [A1]セルに =SUM(H11*H12) という関数が入っています。 当然、[A1]セルは自動計算されますよね。 その結果を、[A2]セルに、"自動計算"と表示させたいのです。 そして、関数の入っている[A1]セルに直接数字を打ち込むと、[A2]セルには"手打ち"と表示させたいのです。 TYPE関数を使ってみたのですが、うまくいきません。 みなさんのお知恵を拝借させてください。 お願いいたします。

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

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

常に数式と手打ちの値が相違するのであれば、A2セルに=IF(A1=(H11*H12),"自動計算","手打ち")では如何でしょうか。 後は、VBAプログラミングしかありません。

JM2inTokyo
質問者

お礼

はい!! できました。 アレンジは加えましたが、ベースはこのタイプで成功です (^^)v あまりにも身近な式だったので、この方法に関心しきり!! こんな感じで解消しました。 自動計算か手打ちかを判定のため [AC2000] =IF(VLOOKUP(I2000,Database!$D:$H,5,TRUE)=1,1,2) を追加 基準となるセル(質問では[A1]) [M2000] =IF(ISBLANK(I2000),"",IF(R2000>1,ROUNDUP(R2000/1.05,0),IF(VLOOKUP(I2000,Database!$D:$H,1)=I2000,VLOOKUP(I2000,Database!$D:$G,2)*AB2000,"手打か税込入力"))) 基準となるセルより手打ちか自動計算かを判定して結果を出す(質問では[A2]) [O2000] =IF(ISBLANK(I2000),"",IF(AC2000=2,M2000*0.8,IF(R2000>1,ROUNDUP(R2000/1.05,0)*0.8,IF(VLOOKUP(I2000,Database!$D:$H,1)=I2000,VLOOKUP(I2000,Database!$D:$G,3)*AB2000,"手打か税込入力")))) I列: 内容  M列: 売上金額  O列: 支払金額  AC列: 判定用 Database分、H列を追加 D列: 内容  E列: 売上金額  F列: 支払金額  G列: メモ  H列: 判定のためのフラグ(1は自動計算 2は手打ち) なんのこっちゃ? の式ですが、こんな感じです。 でもね、2000行あって、シートが10枚… ほかにも関数があって、データサイズがでかいことでかいこと(笑) ありがとうございました。

その他の回答 (3)

  • rin01
  • ベストアンサー率43% (33/76)
回答No.4

すみませ~ん。。。 式を訂正します。 こちらです。↓ A2: =IF(A1="","",IF(TYPE(--計算式)=1,"手打ち","自動計算")) そそっかしいので、ゴメンナサイ!! 。。。Ms.Rin~♪♪

JM2inTokyo
質問者

お礼

うわぁ、ありがとうございます。 No.2さんの回答よりすぐに作成にかかり、成功してしまいましたので、今、試みることができません。 (ホントにギリギリの作業だったんです(汗)) でもこの方法はデータサイズを軽量化・処理の簡素化が計れそうですね。 来月も同じ処理をするので、もう1ファイルを作って、ご回答の方法でくみ上げてみたいと思います。 お力添え、ありがとうございました。

  • rin01
  • ベストアンサー率43% (33/76)
回答No.3

こんにちは~♪ 失礼しま~す。。。 No2のmu2011さんの回答で解決されると 思うのですが~。。。 ★いつまで、サポートされるかわからない機能ですが 4.0マクロ関数を使う方法です。 順序その1 挿入→名前定義から  名前  → 計算式 と入力します。  参照範囲→ =GET.CELL(6,Sheet1!$A$1) その2 A2: =IF(A1="","",IF(TYPE(--式)=1,"手打ち","自動計算")) でいかがでしょうか。。。 。。。Ms.Rinでした~♪♪

回答No.1

自動計算 と表示させたいセルを選択し、 そこで書式→条件付書式 を設定します。 条件は、A1='ここにA1に書かれている式'をそのまま貼り付けます。 書式ボタンをクリックし、セルの色を変更します。 これで、A1に手入力された場合は色は変化せず、自動計算の場合は設定したセルの色に変わるというものです。 簡単に設定するにはこの程度しかできません。 もっとVBAで組むとなると実現できますが・・。

JM2inTokyo
質問者

お礼

残念ながら条件式書式設定では目的を達せなかったのですが、今後困った時の参考となりました。 また困った際にはアドバイスいただければ幸いです。 ありがとうございました。

JM2inTokyo
質問者

補足

ありがとうございます。 実際には関数として仕上げたいと思っています。 現状考えていた関数式は、 [A2]セル↓ =IF(TYPE(A1)=1,"手打ち","自動計算") です。 ところが、このままでは、H11,H12に数字が入ると、A1は結果的には"手打ち"となりますよね。 例えば、B1セルの中で、関数が入っている状態の[A1]セルを数値として認識させず、初めて[A1]セルに手打ちした時点で数値とみなすことはできないでしょうか? わかりずらい説明ですみません。

関連するQ&A

  • Excelであるセルに計算式を入力するとゼロになってしまいます

    初歩的な質問ですみません。 Excelであるセルの範囲の(例:A1:C1)合計をどこかのセル(例:A3)に 求めたいのですが、そこにSUM関数を入力しても結果がどうしてもゼロになって しまいます。 ただしそのセル(A3)以外の他のセル(例:B3)に入力すると正しい結果が 表示されます。 セルの書式を調べても、合計の範囲のセルと結果を出すセル両方とも数値に なっています。どうしてそのセルだけが正しく計算されないのでしょうか? セルの書式以外にも、何か特別に設定できる項目はあるのでしょうか? 教えてください。

  • EXCEL計算式が入っているセルを空白表示に

    EXCELデータで、セルに計算式が入っているのに画面上には何も数字が表示されていないというファイルをもらいました。 普通に、例えばSUM関数とかを入力したとき、結果が0だと、0が表示されますよね。もらったファイルでは、0が表示されておらず、0以外だと表示されるようになっています。 そのセルの計算式を見ても、特に変わった条件数式(IF関数など)が入ってもおらず、セルの書式設定を見ても特に変わったことがあるようには思えませんでした。 いったいどうやったら、こういうことができるのでしょうか?

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

    例えばです。  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」の自動計算式を入力したいのですが、       首尾よく入力できません。   あまり要領よく質問できていないかもわかりませんが、よろしくお願いします。

  • エクセルでセル入力とセル出力の自動化

    おそらくマクロで簡単に出来ることだと思うのですが、マクロを使ったことが一度もなくやり方がわからなく苦慮しています。 やりたいことは、簡単に述べると、 (1)セルA1に数字を入力(変数)すると、セルA2に計算結果が出る。 [つまり、A2にはA1を変数とする関数が入っている] (2)セルB1、セルB2、セルB3、…にはそれぞれ数値が入力されている。 [変数リスト] (3)変数リストにあるB1の数値をA1に入力して、その結果のA2をC1に書き出す。さらに、B2をA1に入力して、その結果のA2をC2に書き出す。以下、これを変数リストすべてについて実行する。 という感じのことです。この程度のことなら、初めから関数化してしまえばおしまいなのですが、実際A2の出力でやっている計算はシートを複数使うような大規模な計算なので、関数化するのは面倒です。そこで、手動でいちいち変数の入力と結果の出力を実行しておりましたが、それはそれで入力ミスや出力ミスもしそうですし、自動化できるならそれに越したことはありません。 そういうわけで、上記の作業を自動化する方法をご教授いただけたらと思います。どうぞよろしくお願いします。

  • エクセル 2つのセルを1つにしたい

    質問があります。 エクセル2007を使用しています。 A1のセル(例えば5)とA2のセル(例えば2)の2つのセルを、A3のセルに合体させたいです。 そこまでは数式に =A1&A2と入力すればできたんですが、さらにここでは後者の数字に( )をつけたいです。 よってA3のセル内に、5(2)と表示させたいです。 なおA1とA2のセルにはsum関数が入っています。 何卒よろしくお願いします。

  • エクセルでの疑問(""と" "の違い、またセル+セルとsum関数の違い)

    エクセルにおいて、スペースを挿まない""と、スペースを挿む" "の違いを教えてください。 if関数で条件が真の場合に空欄""(←スペース無し)を返して、その空欄のセルと別のセル(数字が入っている、例えば1)を加算(セル+セルであり、sumは使わない)するように計算式を組んでも、空欄のセル(ifのセル)を0と認識してくれず、その結果#VALUE!と出てしまいます。 一方、""にスペースを挿んで" "とすると、数値と認識して、加算結果は1と表示されます。 因みに、sum関数で問題のセル(ifのセル)と別のセル(例えば1)を計算すると、1という結果が返ってきます。 スペース無し("")とスペースあり(" ")の違いって一体何なのでしょうか? また、なぜセル+セルでは#VALUE!になり、sumでは#VALUE!にならないのでしょうか? 宜しくお願いします。

  • A1セルに入力したら、入力時間をA2セルに自動挿入

    こんにちはtmgmです。 Excelでちょっと困っています。 「A1セルに文字を入力したときの時間をA2セルに表示する」ということがやりたいのですが、 実際やってみるとなかなか出来ませんでした。 A2セルの書式をhh:mmなどにして、セルに=if(A1<>"",NOW(),"")と書きました。 これで一応A1セル入力でA2セルに時間は挿入されますが、Excelの自動計算機能により、一度閉じてまた開いた場合や他のセルで自動計算を行うような入力をした際などに時間が更新されてしまいます。 時間が更新されてしまってはだめなんです。 かといってツール→オプションから自動計算を手動にすると、その他の計算(例えばSUM関数など)の自動計算に影響がでて、使い勝手が違ってくるし。。。。 どうすればよろしいんでしょうか? お分かりになる方ご返答宜しく御願い致します。

  • エクセル2003 計算されないようにしたい

    例 A列     B列  1     =A1+A2  2     =A2+A3  3     =A3+A4 (A4は空白です) となっている場合に B1=3 B2=5 B3=3 になると思うんですが この時に空白のセルと計算結果を出すときは0もしくは 計算されないようにしたいです。 最終的にB列にSUM関数を使って合計を出したいのですが A列に求めたい数字が片方しか入ってない場合 (数字が入っているセル+空白セル)はSUM関数の合計に入れたくないです。 なので上記の例では B列にSUM関数をした場合11ではなく8にしたいです。 それには文字列を入力して#VALUE!にするしかないですか? でもその状態にしてSUM関数で合計を出したときも#VALUE!になってしまいます。 よろしくお願いします。

  • セルの数式を計算させないで文字列として表示させたいのですが

    例えばB1セルに=sum(A1:A5) と打つとその計算結果が表示されます。 そして僕は、その下のB2セルに、「=sum(A1:A5)」と、文字列として表示させたいのです。 どうしてかと言いますと、B1セルには「=sum(A1:A5)」と打ったんだよ ということを B2セルに表示させておきたいのです。 そうすればそれをプリントして、暇なときに見たりして ああ、このセルには「=sum(A1:A5)」と打ったんだな、とわかり、 いろんな関数を覚えれると思ったからです。 しかし、B2セルにB1セルをコピーしてしまうと、B2セルは=sum(A1:A5)となってしまい、 当たり前ですけど計算結果が表示されてしまい、 「=sum(A1:A5)」を文字列として表示できないのです。 何かうまい方法はないものでしょうか? VBAで出来そうな気はするのですが出来ませんでしょうか?

  • 一つのセルに関数計算式と数字を入れたいです

    エクセルの質問です一つのセルに関数計算式と数字を入れる様にすることは可能でしょうか? 例えば そのセルに何も入力しないと、他のセルとの計算結果が表示され、数字が入力されると、その数字を元に他のセルへ計算結果が出る様にしたいのですが、A1のセルに何も数字を入力しないと、計算式でA1は=B1/C1の%表示で、A1に数字を入力すると、その数字を元にB1は=C1*A1の計算結果を反映させたいのですが、よろしくお願いします

専門家に質問してみよう