• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 関数 弁当の注文係)

Excel関数 弁当の注文係

このQ&Aのポイント
  • 先輩から引き継いだお弁当の集計の係ですが、イレギュラーな例が出てきて困っています。
  • 基本はアルファベットのOとXで注文数を集計していますが、一人で2食分注文の場合に処理ができません。
  • Oを数字1として代入させて処理する方法も検討しましたが、どうするか悩んでいます。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

たとえば表範囲を選び,右クリックしてセルの書式設定の表示形式でユーザー定義を選び [=1]"○";[=0]"×";G/標準 と設定します。 注文有りのひとは数字の 1 注文無しのひとは数字の ゼロ 複数注文のひとは数字の 2や3や4 を記入します。 合計はふつーにSUM関数だけで計算します。 今までの入力とちょっと逆りますが,以前の操作をしていたひとはもう居なくてあなたが使うだけなので,支障ないと思います。 #どーしても今の入力方式のまましたい(たとえばあなただけが入力するんじゃなく,今まで皆さんにも入力して貰っていたなど)場合は 合計の式を =COUNTIF(G4:G31,"O")+SUM(G4:G31) として,今まで通りオーとエックスと,加えて数字記入で運用する方法も有りです。

ryu_soul
質問者

お礼

ご回答ありがとうございます。 今回はこちらの意見を使わせていただくことにしました。 ユーザー定義で細かいことができるんですね。 最初の設定だけで思ったとおりの表にできそうです。 ありがとうございました。

その他の回答 (6)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.7

弁当はたいてい同じ人ですから、マクロ実行で1ヶ月分平日に初期セットします、なんてことも可能になってくる。 印刷して赤ペンでチェック入れようものなら、1文字に印2個、漏れありそう。 2個から1個にしたとき、どうするか セルの取消線使うか エクセル的に言えば数値のが楽だろうが、実用的にどうか。 合計が合えばいいのでしょうけど、さらなる改善案、ルール決め考えたら多数出てくる。 手間でなく、不正の、とくに困っているところ、に絞る。これで誤って精算したとか。

ryu_soul
質問者

お礼

実際プリントして以降も運用があるので 色々考えなければいけないのも確かです。 回答ありがとうございます。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.6

Oオーと2、できなくはないが混在するルールならしたくない 基本的に有り無しなので数量記入でない 2だけ見えにくい 円の〇と◎ではどうか 〇〇でもわかる 3個なら〇〇〇 ×はいるのか 紙に書いてからエクセルへ転記か、紙だけ2、エクセルには2にしない手段は COUNTAとかある 2個以上ならセルに色付けるとかのがよさそう 等 工夫はいろいろですが。

ryu_soul
質問者

お礼

今回のケースはちょっと面倒なケースでした。 考えていただいてありがとうございます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

特に注文数を数値にしていなくとも、例えばG4からG34セルの間に注文がOやooさらにはOOOのように入力されているとしたら合計の注文数は次のような式で求めることができますね。 =COUNTIF(G4:G34,"O")+COUNTIF(G4:G34,"OO")*2+COUNTIF(G4:G34,"OOO")*3+COUNTIF(G4:G34,"OOOO")*4 この式は1日で一人が4個まで注文した場合になっています。 また、その人が一カ月の間に何日注文したかは次のような式で求めることができますね。 =COUNTIF(G4:G34,"*O*")

ryu_soul
質問者

お礼

回答いただきましてありがとうございます。 最後の2候補として迷ったのですが、別の意見を使うことにしました。 時間をかけて考えてくださってありがとうございます。

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

できるなら数字にした方が良いのですが、 視覚的にOXを見たいというなら、別の 方法として、注文数と表示は別のシートに する手があります。 注文数を記録するシートをSheet1とし、 A列に個人名、B列に注文数と仮定します。 表示用はSheet2で、列配置は同じとします。 Sheet2のA1 =Sheet1!A1 Sheet2のB1 =IF(Sheet1!B1>0,"O","X") A~B列を他の行にコピペすればできあがり です。勿論、合計はSheet1でSUMを使い、 Sheet2にも反映させます。 Sheet1のG36が合計ならSheet2のG36に =Sheet1!G36とすればよいでしょう。

ryu_soul
質問者

お礼

ご回答ありがとうございます。 別のシートに記載するアイデアもあるんですねぇ。 新しい発想を与えてもらいました。 ありがとうございます。

  • okuni21
  • ベストアンサー率0% (0/2)
回答No.2

Excel2007で、検証してみました。 毎日の、合計件数の計算式を、=COUNTIF(D4:N4,"O")+SUM(D4:N4) 個人別の注文数を、     =COUNTIF(D4:D34,"O")+SUM(D4:D34) 個人別の合計金額を、    =D37*350 で、いかがでしょうか? なお、個人別の注文数は、31日まで欄を作って検証しました。

ryu_soul
質問者

お礼

お昼の時間を使って回答していただいてありがとうございました。 こちらの環境を書くのを忘れていましたね、すみません 当方ではExcel2003を使用しておりました。 カウントIFで組み合わせるんですねぇ。 勉強になります。ありがとうございます。

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

>潔く数字に変えてしまってSUMの処理をしてしまった方が賢明でしょうか?  ⇒数値にした方が分かり易いし、集計処理も簡単になりますのでよろしいかと思います。

ryu_soul
質問者

お礼

早速の回答ありがとうございました。 参考にしたいと思います。