![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
MS EXCEL2003を使用しています。
お客様の利用状況をEXCEL2003にて管理しており、そのデータ入力が正しいものかどうかを判定する関数を教えていただきたいです。
1.列ABCに利用コース別の人数が入る
2.列DEFGに利用時間帯別の人数が入る
3.列HIに性別別の人数が入る
4.列JKLMNに来店手段別の人数が入る
目的 列Pに、お客様総数をカウントしたい。
1~4それぞれで合計人数が出るが、それらがすべて正しいときには列Pに「合計数値」を、1~4のなかで1つでも合計数値に間違いがあったときには列Pも「error」と表示させたい。
よろしくおねがいします。
No.1ベストアンサー
- 回答日時:
列Pに入れる式の一つの案を紹介します
セルP1の例
=if(and(sum(a1:c1)=sum(d1:g1),sum(a1:c1)=sum(h1:i1),sum(a1:c1)=sum(j1:n1)),sum(a1:c1),"error")
もう少しすっきりした関数もあるかもしれません・・・。
ありがとうございます。
これに近いもの=if((sum(a1:c1)=sum(d1:g1)=sum(h1:i1)=sum(j1:n1)),sum(a1:c1),"error")くらいまでは思いついたのですが、うまく機能しなかったので。
もう少しスッキリしたものがわかれば教えてください。
No.5
- 回答日時:
例えばP1セルには次の式を入力してはいかがでしょう。
=IF(SUM(A1:N1)=0,"",IF(AND(SUM(A1:C1)=SUM(A1:N1)/4,SUM(D1:G1)=SUM(A1:N1)/4,SUM(H1:I1)=SUM(A1:N1)/4,SUM(J1:N1)=SUM(A1:N1)/4),SUM(A1:N1)/4,"error"))
回答ありがとうございます。
内容は、すべてのセルの合計値を4で割ったものが、「1.2.3.4」それぞれの部門の値と等しいかどうかを判定しているのですね。違った考え方として参考にさせていただきます。
No.4
- 回答日時:
たびたび申し訳ありません。
dogsivaです。No.3の回答に間違いがありましたので訂正です。
最後に紹介した式では
sum(a1:c1)=sum(d1:g1)
sum(h1:i1)=sum(j1:n1)
この2つの比較しかしないため
たとえば
sum(a1:c1)=10
sum(d1:g1)=10
sum(h1:i1)=100
sum(j1:n1)=100
でもTRUEを返してしまうようになっていました。
この式では間違った結果を得てしまいますのでご注意ください。
確かにそうですね。
=if(and(sum(a1:c1)=sum(d1:g1),sum(a1:c1)=sum(h1:i1),sum(a1:c1)=sum(j1:n1)),sum(a1:c1),"error")
が無難なようですね。
No.3
- 回答日時:
回答No.1のdogsivaです。
再度回答します。northstarxさんの
=if((sum(a1:c1)=sum(d1:g1)=sum(h1:i1)=sum(j1:n1)),sum(a1:c1),"error")
これと
私の先述した
=if(and(sum(a1:c1)=sum(d1:g1),sum(a1:c1)=sum(h1:i1),sum(a1:c1)=sum(j1:n1)),sum(a1:c1),"error")
これは、得られる結果が異なります。
例としてsum(a1:c1)、sum(d1:g1)、sum(h1:i1)、sum(j1:n1)がすべて10となる場合、
上の式では
sum(a1:c1)=sum(d1:g1)→10=10→TRUE
sum(h1:i1)→10
↓
TRUE=10→FALSE
(論理値TRUEと数値を比べてしまうので、FALSEとなってしまう)
論理式と数値が混ざってしまうのでうまくいきません。
下の式では、2辺の式を3つ作っているので問題ありません。
sum(a1:c1)=sum(d1:g1)→10=10→TRUE
sum(a1:c1)=sum(h1:i1)→10=10→TRUE
sum(a1:c1)=sum(j1:n1)→10=10→TRUE
↓
and(TRUE,TRUE,TRUE)→TRUE
このようになるのでうまくいきます。
ただし、これでうまくいくのは、これら4つの合計値が「等しい」場合であって
「正しい」場合とは無関係というのはmike_gさんのご指摘のとおりです。
ちなみに、上の式を使ってうまくいくようにするための一案
=if((sum(a1:c1)=sum(d1:g1)=sum(h1:i1)=sum(j1:n1)),sum(a1:c1),"error")
↓
=if((sum(a1:c1)=sum(d1:g1))=(sum(h1:i1)=sum(j1:n1)),sum(a1:c1),"error")
(a=b=c=dから(a=b)=(c=d)に変更)
こうすることで
sum(a1:c1)=sum(d1:g1)→10=10→TRUE
sum(h1:i1)=sum(j1:n1)→10=10→TRUE
TRUE=TRUE→TRUE
こうなり、うまくいくと思います。
詳しい解説ありがとうございます。
「論理式と数値」昔学んだような気がします、ちょっと思い出してきました。2つくらいなら簡単にできたのですが、4つとなるどうしていいか困ったもので。
No.2
- 回答日時:
》 1~4それぞれで合計人数が出るが、それらがすべて正しいとき…
「1~4それぞれで合計人数が出るが、それらがすべて」等しいときが「正しい」とは限りません。別の(正しいと判断する総人数の)データが必要です。
「1~4それぞれで」入力ミスがあっても、それぞれの合計人数が等しい場合もあり得るからです。
この回答への補足
確かにのとおりです。正確な合計人数のデータが必要でした。
ただ、今回は4つのデータが正しければ、「正しい」と判断してとある一つのデータ(例えば1.の列ABCの合計)を出力したいと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) 【Excel関数、count系】どなたか教示下さると助かります。 Excelでシフトを管理しており、 2 2022/07/09 06:34
- Excel(エクセル) Excelで結合したセル内の文字と結合されたセルの数を集計したい 2 2022/12/02 21:38
- Excel(エクセル) 数列の数値補間 2 2022/10/27 16:38
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急お願いします!C# グループ...
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
EXCELでタイトル行と一番下の行...
-
LINEのこの空白ってどんな意味...
-
エクセルの計算式でコンマを付...
-
名簿の漢字名を関数で半角カナ...
-
16桁以上の「0」に変換されてし...
-
エクセルでleft関数の結果が表...
-
Wordの差し込み印刷で空白行が...
-
【エクセル】入力規則のプルダ...
-
エクセルでエンターを押すと隣...
-
エクセルで決められた合計にな...
-
エクセルで囲み線で出来ますか?
-
Excelのテーブル上のセルの保護...
-
エクセルでオートサムを使った...
-
エクセルで、50銭以下切捨て...
-
セル上に表示された見かけ上の...
-
エクセルで行の一番上にセルに...
-
EXCELで縦の行全てに一括して文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
COUNTIFの検索条件をセル参照で...
-
EXCEL関数で複数のセルの合計が...
-
至急お願いします!C# グループ...
-
PowerPointの表内のカンマ
-
【VBA】PDF出力に任意のファイ...
-
EXCELでタイトル行と一番下の行...
-
LINEのこの空白ってどんな意味...
-
Wordの差し込み印刷で空白行が...
-
エクセルで「-3E+06」と...
-
エクセルでオートサムを使った...
-
Excelのテーブル上のセルの保護...
-
EXCEL 連動したドロップダウン...
-
エクセルの計算式でコンマを付...
-
エクセルでハイパーリンクのコピー
-
exselの質問です
-
エクセルでセル内改行の1行目...
-
エクセルでleft関数の結果が表...
-
16桁以上の「0」に変換されてし...
-
名簿の漢字名を関数で半角カナ...
-
エクセルで、50銭以下切捨て...
おすすめ情報