エクセルで数値をBS(Dl)で消すとデータが残る

このQ&Aのポイント
  • エクセル2007で数値データをバックスペース(BS)やデリート(Dl)で削除すると、0という数値が残ってしまい、グループ分けに影響が出てしまいます。
  • 現在の対応策として、数値データを消去する際には空白を入力する方法を推奨していますが、人によってはBSやDlで消去する癖があるため、別の方法があると良いです。
  • 関数自体は問題ないが、社内では関数に詳しい人がいないため、自身が独学で作成したが、もっと良い方法があるかもしれないと考えている。
回答を見る
  • ベストアンサー

エクセルで数値をBS(Dl)で消すとデータが残る

仕事でエクセル2007を使用していますが、修正方法がわからず困っています。 幾つかの条件の下に、答えをだすのですが、その条件の一つに「個々の数値によりグループを4つに分ける」必要があるため、「セルA1からA6までの数値データを参照して、AからDのグループに分る」と言う条件で、IF関数を使っています。 数値が状況に応じて変わるので、IF(A1>50,A,IF(A1>30,B,IF……)と入れ子で作成しています。 平均年齢が高いため社内では他に関数に詳しい人がいない状況で、作成した私自身も 独学なので、もっと良い方法があるのかもしれませんが、関数自体はこのままでと思っています。 その際、A1からA6に入れたデータをバックスペースやデリートで消すと「0」と言う数値データが残ってしまうのか「0」のグループに全てカウントされます。 空白を入力すると全てクリアされますが、人によりデータの消去方法に癖があるため、BSやDlで消去された場合にはグループ分けに反映されないようにする方法はあるでしょうか。 ちなみに、今は、入力欄のセルに数値消去の際のコメントを付けて対応しています。 詳しい方には、何をいまさらと言う質問かも知れませんが、よろしくお願いします。

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

  • ベストアンサー
  • CLOWN-6-
  • ベストアンサー率51% (17/33)
回答No.1

A1~A6には数字を入れると言う使い方でいいんですか? そして空白(スペース)を入力したら0が入っていない状態としてIFが働くと言う状況だと思って答えます。 IFなどの関数でセルの数字を読む際何も書かれていない状態は0と判断します。 ただし空白を入力すると空白と言う文字が入っている状態になるので0とは読みません。 ですのでA1~6のセルに入るデータとして0の可能性もあるのであればデータ無しとする場合は空白や何かしらの文字を入力することで解決するのがいいと思います。 中の関数や他機能を使っても修正はできると思いますが現状使い方を変更するだけで対処できるので一番楽ではないかと思います。

silvastar
質問者

お礼

早速の回答ありがとうございます。 やはり、数字を消去する場合は空白を入力する方法が無難なようですね。利用するメンバーに「数値の消去は空白で」と再度伝えて処理するようにします。ありがとうございました。

関連するQ&A

  • エクセルで範囲内の条件を満たす数値を返す関数を教えてください。

    エクセルで範囲内の条件を満たす数値を返す関数を教えてください。 100以下なら1111 100超~200以下なら2222 200超~300以下なら3333 300超~400以下なら4444 400超~500以下なら5555 500超~600以下なら6666 600超~700以下なら7777 700超~800以下なら8888 800超~900以下なら9999 900超なら10000 上記のような条件があり、入力した数字が該当する条件の範囲内に該当している数字を抽出したいのですが、それができる関数を教えてください。 例えばA1セルに650と入力するとB1セルに上記の条件で該当する7777を表示する、 A1セルに100と入力するとB1セルに1111、 901とA1に入力するとB1に10000と表示されるなどのようにしたいのです。 IFを使った関数では7つまでしかネストできないので、上記の場合10ネストしなければならないのでIF関数が使えません(使える方法があるかもしれませんが私は知りません)。 ネストせずに「&」を使う方法も考えたのですが、それだと数値として扱われず文字として扱われてしまい表示形式を自在に編集することができなくなってしまいます。 良い解決方法を教えてください。

  • Excelで、数値データとして参照したいのに、文字列データとしてしか参照してくれません

    Excelで、ある数式セルに表示されたデータを、数値データとして参照したいのですが、どうやっても文字列データとしてしか認識してくれません。 具体的に書くと、 例えばセルA1に、FIND関数で他のセルから抜き出した半角数字のみのデータを表示しているとします。 そのA1の数値を、今度はセルA2で、 if(A1=1000,A1*2,A1/2) などと数式で参照したい時に、私のExcel(2002です)では、どうやってもA1=1000という条件式をきちんと判別してくれません。どうやら、FIND関数で抜き出したために文字列データとして扱われてしまっているようです。 その証拠に、A1が実際に「1000」の時に if(A1="1000",A1*2,A1/2) という風に1000をダブルクォーテーションで囲んで式を書くと、きちんとA1*2を実行してくれます(つまり、A1が実際に1000の時でも条件式の1000をダブルクォーテーションで囲まないと、きちんと判別してくれないという事です)。 この状態から抜け出せずに、どうにも困っています。 どうにかA1の「1000」というデータを文字列でなく数値データとして条件式で利用できるように出来ないものでしょうか。 乱文ですみませんが、よろしくお願いいたします。

  • エクセルで範囲のある数値に該当するデータを抽出

    エクセルにて  0以上 5未満 A  5以上10未満 B 10以上22未満 C・・・ というように、条件となる数値に範囲があるデータを抽出したいです。 IF関数の場合ネスト制限があるため全てのデータ抽出が行えません。 VLOOKUP関数で条件となる数値に範囲がある場合でもデータ抽出可能なんでしょうか? 適切な言葉が分からないので、上手く説明出来ているか分かりませんが、どなたかいい方法ありましたら、教えてください。

  • Excelの数値の比較がうまくいきません???

    ExcelのVbaでアンケートの入力フォームを初めて作成しています。 フォームに,テキストボックスを配置して,それを指定したセルに代入するというものです。 このとき,テキストボックスの中身とセルの中身が一致しているかどうかを判断したいと考えて, If Range("A1").Value = Textbox1.Value then ・・・ などとやりました。 そしたら,文字列の時は,うまくいくのですが,数値を入力したら,明らかに同じ数値が入っているのに,上の条件式が"False"になってしまうのです。 IsNumeric関数で調べると,双方とも数値であるとの結果が出ています。どちらも数値であっても3=3が"False"になってしまうのです。 どういうことなんでしょう? どなたかよろしくお願いいたします。

  • Excel 数値の丸め

    Excel2010を使用しておりますが、数値の丸めについて教えて下さい。 ■条件  ・Sheet1のA1セルに「10,000」、A2セルに「20,000」と入力。  ・Sheet2のA1セルに「=Sheet1!A1+Sheet1!A2」の式を入力。 ■結果  ・Sheet2のA1セルには「30,000」と表示される。 ■したいこと  ・この「30,000」という数値を「30」という数値に変更したい。 実際はSheet1には「10,000」や「20,000」の金額がたくさん入力されており、それをSheet2で集計しております。 しかし、Sheet2の合計金額が細かいため千円単位に一括して表示しなおしたいのです。 「ROUNDUP」や「ROUDDOWN」の関数を使用すれば千円単位に変更することはできますが、セル毎に入力しなければならないので、対象範囲を指定して一括で千円単位に変更できないでしょうか? という質問です。 よろしくお願い致します。

  • エクセル

    エクセルの関数計算方法を教えてください。 セルA1の数値を元に3つの条件から数値を選択したいのですが 1< A1 ≦  5 であれば、  30を 5< A1 ≦ 10 であれば、 100を 10< A1 ≦ 15 であれば、 200を IFを使おうと思いましたが、1つのセルにまとめた数式にしたいのですが

  • エクセルIF関数の入れ子について

    こんにちはエクセルIF関数の入れ子について 労働力1000以上     ***     500以上1000未満  **     500未満        * と表示しようと思い、セルに =IF(D4>=IF(D4>=500,"**","*")=1000,"***")  ※D4は労働力の数値 と入力したらFALSEが表示されました。 入れ子をしなければ表示が正常にされるのですが 入れ子をするとFALSEになります。 原因がわからないので教えてください。

  • エクセル関数 入れ子の作り方 コピー可能?

    エクセル関数の入れ子の作り方で教えてください。 IF関数が3つ入れ子になる状態を作りたいのですが、 一つ一つのIF関数の式が長いので、動作を確認するために、 とりあえず3つのセル(A1,A2,A3)に一つずつ作ってみました。 この時A1,A2の偽の値には仮に”偽”と入れて作ってあります。 それぞれのIF関数は正しく出来ていたので、A3の式をA2の偽の値へ、 A2の式をA1の偽の値へ、と入れ子にしたいです。 コピーして貼り付けたいのですが上手くいきません。 ちなみに数式は A1 =IF(AND(K31<>TRUE,K33<>TRUE,K35<>TRUE),"","偽") A2 =IF(AND(K35=TRUE,INDEX(H19:H24,K18)="-"),J37,"偽") A3 =SUM(IF(K31=TRUE,INDEX($F$19:$H$24,K18,1),0),IF(K33=TRUE,INDEX($F$19:$H$24,K18,2),0),IF(K35=TRUE,INDEX($F$19:$H$24,K18,3),0)) です。一つのセルですべての条件を満たす必要があり、他のセルは利用できないので、 なんとしても入れ子にしなくてはなりません。 すべてを打ち込みしないとダメでしょうか? 検索してみましたがヒット出来ませんでした。 どうかよろしくお願いします。

  • Excel関数と数値の違い?について知恵を貸していただけると幸いです

    いつも大変お世話になっております。 C14のセルにとある数値が入力されています。 F14のセルに =IF(IF(F15<>0,$C$14,"")="","",IF(F15<>0,$C$14,""))と関数が入力されています。 F15セルに =IF(IF(P15*10=0,"",P15*10)=0,"",IF(P15*10,"",P15*10))と関数が入力されています。 上記の関数を使うにあたり、P15のセルに数値を入力した時(初めて数値が入力された時)にF14のセルにC14の数値を表示させたいと思っているのですが、F15セルの関数にF14セルの関数が反応してC14の数値を表示してしまって困っています。 解決方法があるようでしたら皆様の知恵をお貸しいただけると幸いです、よろしくお願いいたします。

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。