• ベストアンサー

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