ウィンドウズXP サービスパック3 オフィス2003 ノートPCの動作環境で、
エクセル2003で、セルの中の一文字だけをカウントイフで数えたいです。
セルの中に、トモコ、カズヤ、ナオキ、カズコ、と言う風にあるとすると
コの数だけ数えたいのですが、そうすると
カウントイフでは0になってしまいます。

どうにかしてコの数だけ数えることはできないでしょうか?

A 回答 (6件)

トモコ、カズヤ、ナオキ、カズコが別セルにあって"コ"のあるセルの数でいいなら


=COUNTIF(A1:A10,"*コ*")
または
=COUNT(FIND("コ",A1:A10))
でCtrl+Shift+Enterで配列数式に変換

1セルに上記の文字列があってその中の"コ"のカウントだと前の方と同じで
SUBSTITUTEで"コ"を削除した後の文字列の長さの比較になります。
    • good
    • 0

#4です。


配列数式を使わない方法を考えて
例データ
A2:A9
トモコ
カズヤ
ナオキ
カズコ
コズエ
マコミ
ココン
コンコンコン
式 =SUMPRODUCT((LEN(A2:A9)-LEN(SUBSTITUTE(A2:A9,"コ",""))*1))
結果
    • good
    • 0

例データ A2:A8


トモコ
カズヤ
ナオキ
カズコ
コズエ
マコミ
ココン
何処か空きセルに
=SUM(LEN(A2:A8)-LEN(SUBSTITUTE(A2:A8,"コ","")))
と入れて、Shift,CTRL,ENTERキーを同時押しする・配列数式。
結果は6
ーー
配列数式を聞いたことも無いかもしれないが、難しい課題なので
使わざるを得ないのだ。
なじみなければ、B列にワーク列として、各セルで「コ」の存在する文字数を一旦出しておいて加えるか。
    • good
    • 1

回答番号:No.1さんと同じですが



 =LEN(A1)-LEN(SUBSTITUTE(A1,"コ",""))
「カウント関数でセルの一文字だけを数えたい」の回答画像3
    • good
    • 0

参考までに、アドインになってしまいますがこんなのもあります。


http://kiyopon.sakura.ne.jp/soft/tokutei.htm

その他
http://kiyopon.sakura.ne.jp/soft/index.htm
    • good
    • 0

一例です。


COUNTIF関数ではできませんので次の方法は如何でしょうか。
=LEN(セル)-LEN(SUBSTITUTE(セル,"コ",""))
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで種類を数える関数が無いのは何故?

エクセルで種類を数える関数が無いのは何故なんでしょうか?

エクセルで種類を数えるには、いくつかの関数を組み合わせるのが一般的ですよね?
直接数える関数が無いのは、訳があるんでしょうか?

Aベストアンサー

>>エクセルで種類を数える関数が無いのは何故なんでしょうか?

やっぱり、そういう関数が必要な方が全体からみたら少数派だと、エクセルの開発者たちが考えているからではないかと思います。
また、既存の関数を組み合わせたら、対処可能だから、無理して新しい関数を作る必要性もない、開発の優先順位が低いって判断もあるでしょうね。

私は、エクセルの表を作ったり、エクセルVBAでプログラムを作ったりしますけど、そういう関数が必要になったことが全くありませんし。

Qカウント関数で文字いりのセル数を数えたい

条件をどう設定したらよいのかよく解りません。

会社の得意先リストの表を作ってまして。地区別に何社づつあるのか、関数で「社名のセルの部分」を数えたいのです。

入力する数式例を教えて下さい。ヘルプも使い辛くてよく解りませんでした。

Aベストアンサー

a1 から a10のセルに入力されている件数を得るには
次の関数を使います。

=counta(a1:a10)

QエクセルのROUND関数(金額によって違う四捨五入)

エクセルのROUND関数に関して質問があります。
下一桁を四捨五入するやり方については、
ROUDN(-1)で出来ることはわかっています。

100円台は下一桁(1円単位)のみ四捨五入し、
1万円台は下2桁(10円単位)まで四捨五入するという
やり方を同じセル上でやりたいのですが、方法はありますでしょうか?

ご回答宜しくお願いします。

Aベストアンサー

=ROUND(計算式,IF(計算式>=10000,-2,-1))

というのはいかがでしょう?

QExcel2003で、セルの数を数えたいのですが・・

教えてください。
Excelの関数を使って、指定範囲内の"赤色"に塗りつぶしたのセルの数を数えたいのですが、可能でしょうか???
Countif分を使えば良いかな??という事までは判っているのですが、赤色のセルを指定することが出来ません。

教えてください。

Aベストアンサー

以下のFunctionは指定した範囲に指定色で塗りつぶしたセルが何個あるかを数えるものです。セルに関数として

=CntColor(A1:E5 , 3)

のように使ってください。3は赤の色コードです
(黒:1、青:5、白:2など。数字省略時は塗りつぶしなしを数えます)

Private Function CntColor(ByVal 範囲 As Range, ByVal 色 As Variant) As Long
Dim r As Range
CntColor = 0
If Not IsNumeric(色) Then
色 = xlColorIndexNone
End If
For Each r In 範囲
If r.Interior.ColorIndex = 色 Then
CntColor = CntColor + 1
End If
Next
End Function

このFunctionはVBE画面の標準モジュールに登録してください。標準モジュールが分からなければ一度「ツール」→「マクロ」→「新しいマクロの記録」を動かして作成されるモジュールシートのことです。

色のコード(カラーインデックス)が分からないなら「新しいマクロの記録」でセルに色々な色を塗ってみれば良いです。このときに作成されるマクロのColorIndexの数値が、色のコードに相当します

以下のFunctionは指定した範囲に指定色で塗りつぶしたセルが何個あるかを数えるものです。セルに関数として

=CntColor(A1:E5 , 3)

のように使ってください。3は赤の色コードです
(黒:1、青:5、白:2など。数字省略時は塗りつぶしなしを数えます)

Private Function CntColor(ByVal 範囲 As Range, ByVal 色 As Variant) As Long
Dim r As Range
CntColor = 0
If Not IsNumeric(色) Then
色 = xlColorIndexNone
End If
For Each r In 範囲
If r.Interior....続きを読む

QExcelの文字列検索関数について

Excel2007で、あるセルに入っている英単語が、別のセル範囲(複数セル)に入っている英文の中にあるかどうか、を調べたいのですが、関数を使って実現できるでしょうか?

たとえば、
A1に"This is a pen."
A2に"That is a desk"
という英文があり、
B1に"bat", B2に"pen"を入れたとします。

この場合、A1~A2に"bat"は存在しないのでC1には"FALSE"が、
A1~A2に"pen"は存在するのでC2には"TRUE"が自動的に入るようにしたいのです。
(TRUE - FALSE でなくても、数字などでもかまいません)

FIND関数は単一セルの中の文字列しか検索できないし、
MATCH関数はセル内容が同一でないと結果が出ないのでそのままでは使えません。

何かいい方法はないでしょうか。

Aベストアンサー

こんばんは!
一例です。
↓の画像のC1セルに数式を入れて下へオートフィルでコピーしていますが、
配列数式になってしまいますので、
この画面からコピー&ペーストしただけではエラーになると思います。
C1セルに貼り付け後、F2キーを押すか、数式バー内で一度クリックします。
編集可能になりますのでShift+Ctrl+Enterキーで確定してください。
数式の前後に{ }マークが入り配列数式になります。

C1セルは
=IF(A1="","",IF(OR(ISNUMBER(FIND($B$1:$B$2,A1))),TRUE,FALSE))
としてShift+Ctrl+Enterで確定です。

以上、長々と書きましたが参考になれば幸いです。
他に良い方法があれば読み流してくださいね。m(__)m

Q(Excel 2003) 日付が入力されているセルの個数をカウントしたい

Excel 2003 です。

2つ質問がありますが、2点とも稀なケースの問題ですので急いではおりません。
お時間のある時にでもアドバイスをいただければ幸いです。
よろしくお願いします。


【質問1】

日付が入力されているセルの個数をカウントしたいのですが

=COUNTIF(B2:B6,">=2006/04/01")

のように数式を記述すると期待通りの結果を求められます。
しかし、セル範囲の中に 38885 のような値を入力すると、そのセルも日付として
カウントしてしまいますよね。
そうなる理由は分かっているのですが、どういう数式を記述すればよいのかが
分かりません。


【質問2】

上記課題を解決できないのでユーザー定義関数を自作しました。

Public Function CountDate(範囲 As Range) As Long
  Dim MyCount As Long
  Dim MyRange As Range
  MyCount = 0
  For Each MyRange In 範囲
    If IsDate(MyRange.Value) Then
      MyCount = MyCount + 1
    End If
  Next
  CountDate = MyCount
End Function

最初は完璧と思えたのですが、1点問題がありました。
セルに 38885 と入力した後に表示形式を日付に変更するとカウントしてくれません。
根本的に記述が間違っているのでしょうか?

Excel 2003 です。

2つ質問がありますが、2点とも稀なケースの問題ですので急いではおりません。
お時間のある時にでもアドバイスをいただければ幸いです。
よろしくお願いします。


【質問1】

日付が入力されているセルの個数をカウントしたいのですが

=COUNTIF(B2:B6,">=2006/04/01")

のように数式を記述すると期待通りの結果を求められます。
しかし、セル範囲の中に 38885 のような値を入力すると、そのセルも日付として
カウントしてしまいますよね。
そうなる理由は分かっているの...続きを読む

Aベストアンサー

2についてですが書式変更時点では確かに計算しませんがそれはユーザー定義関数の仕様で範囲内に入力された時点で正しく計数されますからそんなに問題ではないのでは?例えば何かダミー入力するセルを範囲内に設けては?

Q月ごとの勤務時間を○時間○分と表す関数を教

下さい。
Excelで合計と切り捨て関数しか使用していな初心者です。
一ヶ月間の勤務時間をExcelで作りたいと思っています。

一日の勤務時間が7時間45分(定数)に勤務日数(半日刻み)を掛けた答えが
月合計で○時間○分と表示される関数をご教授下さい。
宜しくお願い致します。

Aベストアンサー

エクセルのカテゴリーだと思いますが、簡単に回答します。

B2セルに勤務日数(22.5)が入っているとすると、
=B2*7.75/24
で、日単位の勤務時間(7.265625)がでます。

これは日単位(7.265625日)で、時分ではありません。
セルの書式設定を変更し、ユーザー定義で、[h]:mm とします。
表示が174:22となります。
174時間22分です。

QExcel 2003 セルの中に特定の文字が入力されている場合に、その数をカウントする方法

どなたか教えて下さい。

エクセルのセルに特定の文字が入力されている場合に、そのセルの数を返してくれるような関数の設定があれば教えて頂きたく思います。

例)
A00001
A00002
A00003
B00006
C00004
D00009
  ↓
A:3 B:1 C:1 D:1

このように返したいのですが…?

Aベストアンサー

=COUNTIF(A1:A10,"A*")

あるいは、

=COUNTIF(A1:A10,"*A*")

といった感じでしょうか?

↓は参考ページです。

エクセル技道場-検索条件に部分一致するセルの個数カウント
http://www2.odn.ne.jp/excel/waza/function.html#SEC14

参考URL:http://www2.odn.ne.jp/excel/waza/function.html#SEC14

Qエクセルでその日が第何週目か計算する関数

入力した日付がその月の第何週目かという関数は
WEEKNUM関数を使えば計算できるところまでは調べました。

毎月21日のある週をを第一週目とすると入力された日付が第何週目かという
のを計算することはできるでしょうか?

入力する日付は必ず月曜日の日付になります。
よろしくお願いします。

Aベストアンサー

こんにちは

>WEEKNUM関数を使えば計算できるところまでは調べました
WEEKNUMは1月1日の週を第一週として計算するようです。
https://support.office.com/ja-jp/article/WEEKNUM-関数-e5c43a03-b4ab-426c-b411-b18c13c75340

それなので、月によらずに
 WEEKNUM(計算対象日)-WEEKNUM(基準日)
を計算すれば、基準日からの週数がわかります。
基準日と同じ週を第1週とカウントするなら、1を足して
 WEEKNUM(計算対象日)-WEEKNUM(基準日)+1
で、お求めの内容になると思います。
ただし、この式のままですと年をまたぐ計算をするとおかしなことになるので、対象日と基準日で年が変わっている場合には補正が必要となります。

一方で、
>入力する日付は必ず月曜日の日付になります。
と決まっているなら、基準日の週の月曜日からの日数を数えて7で割る方法でも、何週目かは算出可能ですね。
この方法であれば、年をまたいでも日数を計算できますので補正する必要は生じません。

実際には、日数を7で除した商を用いたいので、計算の都合上、基準日と同じ週の日曜日を求めておく方が簡単になります。
同じ週の日曜日を求めるには、WEEKDAY関数を利用して、
 基準日-WEEKDAY(基準日)-1
で求めることができますので、これを用いて
 INT((計算対象日-基準日+WEEKDAY(基準日)-1)/7)+1
を計算すれば、お求めの数値になりませんか?

※ 「計算対象日」、「基準日」とも日付形式のシリアル値であるものと仮定しています。

こんにちは

>WEEKNUM関数を使えば計算できるところまでは調べました
WEEKNUMは1月1日の週を第一週として計算するようです。
https://support.office.com/ja-jp/article/WEEKNUM-関数-e5c43a03-b4ab-426c-b411-b18c13c75340

それなので、月によらずに
 WEEKNUM(計算対象日)-WEEKNUM(基準日)
を計算すれば、基準日からの週数がわかります。
基準日と同じ週を第1週とカウントするなら、1を足して
 WEEKNUM(計算対象日)-WEEKNUM(基準日)+1
で、お求めの内容になると思います。
ただし、この式のままですと年をま...続きを読む

QExcel 2003 の度数関数は日本語をカウントしないのですか?

Excel 2003 の度数(frequency) 関数を試しています(初心者です)。
数字をカウントするのには実際にやってみて成功しました。しかし日本語の文字列をカウントさせたいのですができませんでした。

好き、きらい、どちらともいえない、の3つの選択肢をAの列に羅列させました(A1 から A40に)。

Aベストアンサー

文字列の場合は、COUNTIF関数を使った方がいいと思います。

B           C
好き          =COUNTIF(A:A,B1)
きらい         (下へコピー)
どちらともいえない


人気Q&Aランキング

おすすめ情報