• ベストアンサー

計算されたセル内の『+』の数を数える方法

エクセル2003使用です。 現金売上の件数を調べる為に、セルB1に合計金額を入力します。 B1=120+100+300+190+250 とする場合にセルA1に5と表示したいので +の数を数え、その数に+1をすれば件数が数えられるのではと思い =LEN(B1)-LEN(SUBSTITUTE(B1,"+",""))+1 と、入力しましたが、返ってくる数は1です。 B1 120+100+300+190+250 ならば上記の関数でセルA1=5となるのですが セルの中の計算済みの『+』の数を数える方法がわかりません。 よろしく御願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 spymaster さんはマクロに抵抗がないようですから、ユーザー定義関数を作っておきます。質問の考え方は良いのですが、一般の関数では、数式の中を調べられません。(マクロ関数なら可能ですが) 以下のコードで、複数の記号(+-*/)に対応する場合は、また、リクエストをおっしゃってください。 '標準モジュールに貼り付けてください。 Function CountF(rng As Range, ByVal strSearch As String) '引数: rng -セル, strSearch -検索文字列 Dim buf1 As String Dim buf2 As String  If rng.Cells(1).HasFormula Then   buf1 = rng.Cells(1).FormulaLocal  Else   buf1 = rng.Cells(1).Text  End If   buf2 = Replace(buf1, strSearch, "")   CountF = Len(buf1) - Len(buf2) End Function 関数の使い方: =CountF(B1,"+")+1

spymaster
質問者

お礼

できました。 これから頻繁に使わせて頂きます。 ありがとう御座いました。

その他の回答 (1)

  • chiune
  • ベストアンサー率24% (30/124)
回答No.1

既出の質問と同じかと思いますが、いかがでしょうか。

参考URL:
http://oshiete1.goo.ne.jp/qa2527433.html

関連するQ&A