highdy の気まぐれブログ

ご訪問ありがとうございます。ジャンルがメチャメチャの気まぐれブログ。パソコン関連記事を中心に時間を見つけて・・・。

「,」で数を数える技(わざ)

2022年05月28日 | パソコン



  

  


上記の目次はすべてを反映していないものがあります。

全自動の Excel のシステム
 今回の例はどのクーポンも1日に1枚使えるもので、その使用日を入力するだけでその回数も自動的に数え、各個人ごとに1か月分の使用状況をクーポン種類別に集計・寄付額も計算し、全自動で使用者名別伝票を作成、[Ctrl] + 「P」、[Enter] で印刷もしてくれる Excel のシステムです。沢山クーポンを使う(恩恵に与る)ほど、寄付金も多くなるシステムです。
Excel が使える方なら誰でもできそうな、入門者向けの計算式や関数しか使われていないとても簡単な表ですが、意外な落とし穴があります。簡単だと馬鹿にしてはいけませんよ!

入力画面
 その元となるデータの入力画面は、以下のようになっており、入力するのは使用者名使用日のみです。
入力ミスをしないように、文字やセルの色分けがしてあります。



上記に示す各セルには、以下のような計算式・関数を使いました。
① =IF(D6="","",D5*F6) 単純な掛け算の値。
② =IF(G6="","",G5*I6) 同上。
③ =IF(J6="","",J5*L6) 同上。
④ =IF(M6="","",M5*O6) 同上。
 =SUM(D7:N7) 横方向の合計を求めます。 注記1
⑥ =IF(T6="","",100*T6) 交通費を求める掛け算。「100円」は文字列なので、
計算式に「100」を入れています。
⑦ =IF(T6="",P6,P6+R6) 小計と交通費を加えた値。
=IF(D6="",0,LEN(D6)-LEN(SUBSTITUTE(D6,",",""))+1) 注記2
=SUBTOTAL(9,P6:P38) 最下行で合計を求める場合も、SUBTOTAL関数で範囲はP6を始点に指定します。自動的に小計(SUBTOTAL)を飛ばして計算してくれます。
=SUBTOTAL(9,R6:R38) 上記に全く同じ。
=SUBTOTAL(9,U6:U38) 上記に全く同じ。
⑫ =F6+I6+L6+O6 数が多い場合は、COLUMN関を使いましょう。


「,」で数を数える
 今回の最大のポイントは、半角の「,」(カンマ)の数で回数を数える点です。従って、日数を一つだけ入力してカンマが無い場合でも「1」として数える必要があります。(セル D8 や G8 の例)
数を数える方法ですから、どんな文字列(例えば、りんご,ミカンなど)でも構いませんが、区切りに半角の「,」が使ってあれば、いろんな場面で応用ができます。


落とし穴にご注意!
注記1
 ここで横方向にSUBTOTALを使用すると、最下行で合計を求める場合に(エラー表示はしませんが、)エラーになり、計算値が「0」となります。「計算しない」が正しい表現。)
理由は、最下行の SUBTOTAL は、合計を出すために途中の SUBTOTAL(小計)を飛ばして計算するのです。従い、すべてが SUBTOTAL だとすべて計算を飛ばすので「0」を沢山足すのと同じことになり本来のエラーではないのです。
注2)
この式で、IF(D6="",0の部分を IF(D6="",""と書くと、回数は後で「数値」として扱うもので、「空白」の意味ではないので好ましくありません。
(もし、「””」を使った場合、空白の文字列×数字の計算をさせたことになり、数字がないときは結果がエラー表示になります。)
なお、「0」なのにゼロが表示されていないのは、ファイルのオプションで「ゼロ」を表示させないように指定しているためです。

注記1)は多くの方がハマって苦労する代表例で、気をつけていましたが、注記2)に見落としがありました!
highdy も作業を終了してできた!」と大喜び、安心したのも束の間、コーヒーを飲んで休息、テスト運用してみて気づき大慌てで修正しました。





本日もご来訪いただきありがとうございました。

記事の保存には、画面上で右クリック → 印刷 →  PDFに保存 
することにより、すべてのリンクも活用できます。
 

   スマホでどうぞ 

コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする