こんにちは。
現在、シフト表作りを任されているのですが、特定の文字列(個人名)を含むセルの個数をカウントして、表内のコマ数をカウントしたいと考えています。

表の名前は、セルの名前登録をしてありますので、ここでは仮に"表"とします。
特定個人の名前は、"名前"とします。
この条件下で、上記を行うにはどのようにすればよいでしょうか?

ご助言お願いします。

A 回答 (4件)

no1です。


てっきり「表」という事で早合点していました、お詫びします。
安直ですが、検索範囲を適用範囲を含み連続セル範囲指定でお試し下さい。
=COUNTIF(連続セル範囲,"*"&名前セル&"*")
    • good
    • 32
この回答へのお礼

いえいえ。こちらこそ言葉足らずで申し訳ない。
エクセルは、簡単な数処理を行う関数程度しか扱ったことが無かったので、このような単純な数値を扱うもの以外の関数では、いつもの自分の慣れた方法が使えないことや、条件指定の方法について、もう少し細かい説明が必要であることを忘れておりました。

だいたいにおいて、当初想像していた通りにできました。
重ねてお礼申し上げます。

お礼日時:2007/06/20 19:01

自分の慣れ親しんだ仕事のエクセルの表は、回答者にも判るという線で質問してますが、全くそんなことはないはずです。


具体的に表の実例を挙げて、的は自分で整理して、質問すべきです。
「表」という言葉は、エクセルの質問ではある程度回答者がイメージするものがあります。違う使い方をするなら注記すべきです。
1シート上に、諸所に表があるのでしょうか。
別シートにも同類の(カウントすべき表が)あるのでしょうか。
2箇所ぐらいなら
=COUNTIF(A2:D5,"*植田*")+COUNTIF(A10:D15,"*植田*")
のようにせざるを得ないと思います。
1つのCOUNTIF関数の中に、複数範囲を指定することはできないようです。
ーー
>表の名前は、セルの名前登録をしてありますので、ここでは仮に"表"とします。特定個人の名前は、"名前"とします。
この意味が良くわかりません。
A2:D5とあわせてA10:D15を「範囲」と名づけてみましたが、
=COUNTIF(範囲,"*bb*")はエラーになり結果が出ませんでした。
他の関数では(=SUM(A2:D5,A10:D13)など)可能なものもありますが。
    • good
    • 11
この回答へのお礼

説明不足で申し訳ございません。
COUNTIF関数は、完全に連続しているセルでなければ機能しないのですね。
事情により、そのようにすることが難しい(おそらく、アクセス等を使えばもっとスマートに処理できるのでしょうけれども)ため、データが連続していない形式のシートになっております。そこで、処理に困っていました。

ご意見大変参考になりました。大変ありがとうございます。

お礼日時:2007/06/20 19:13

条件にワイルドカードと参照を使用したい場合は



"*"&A1&"*"

のように指定してみて下さいネ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考になりました。

お礼日時:2007/06/20 19:13

次の方法は如何でしょうか。


=COUNTIF(表,"*名前*")
    • good
    • 5
この回答へのお礼

すばやいご助言ありがとうございます。
早速試してみたのですが、COUNTIF関数は、どうやら連続した表でなければなければいけないのですね・・・。
私が想定している名前定義した表というのが、いわゆる"表"というよりも、飛び飛びのセルの集合の状態であるためか、うまく行きません。

また、文字列から特定の個人名(本来であれば、セルごとに分ければよかったのでしょうが、スペースの関係でそれが困難なのです・・・。)を抽出するとき、個人名そのものではなく、個人名を含んだセルに対して、ワイルドカードを使用したいのですが、セルに対してワイルドカードをしようすることはできないのでしょうか?
(先ほどのご説明を借りると、*A1*というような遣い方ができればしたいのですが・・・)。

言葉足らずで申し訳ございません。
なんにせよ、一歩進むことができました。ありがとうございます。

お礼日時:2007/06/20 12:38

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Q特定の文字を含むセルとそのセルを含む4行下のセルまで同じ色をつけたい。

ヨガのクラススケジュール表を作っています。
クラスの種類がいろいろあって、所要時間もそれぞれ違います。
添付画像のようにクラス名によって4行分だったり3行分のセルに色をつけたい場合、条件付き書式や関数で行えるでしょうか?
行える場合そのやり方、関数式を教えて頂けると嬉しいです。
宜しくお願い致します。

Aベストアンサー

いろいろ考えてみました。
条件付き書式でよいのかと思いましたが、
「ヨガ1」「ヨガ2」と数字が入っていますから、それで判別してみたらどうでしょうか。

>4行分だったり3行分のセルに色をつけたい
これ自体は、問題はありません。

例えば、その表が、B56からあるとすれば、色塗りの範囲を全部含めて、その先頭のセルの文字列に対して、

それぞれの設定で、COUNTIFで、結合セルの中の単語や文字を探します。

=COUNTIF(B56,"*1*")>0  として、書式-色の塗りつぶしの設定をします。

=COUNTIF(B56,"*2*")>0

=COUNTIF(B56,"*3*")>0

また、結合セルのセルの行数を取る方法を、マクロでは、MergeAreaというプロパティは知られていますが、マクロなしでは、今のところ見当たらないです。

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Q検索条件内で、特定範囲の数が入っているセル個数をカウント

指定された範囲に含まれるセル内で、検索条件に一致し(たとえば○○市)、なおかつ特定範囲の数(100以上、100~30、30~20、20未満)が入っているセルの個数をカウントの仕方を教えてください。

Aベストアンサー

> 範囲の数(100以上、100~30、30~20、20未満)が入っているセルの個数をカウント

データの配置状況が、いまいちはっはりしませんが、取り敢えずの例です。
カウント区分がダブリますので、100未満~30以上 のようにしたとき、
A1:A20に"○○市"等のデータがあり、B列に数値が入力されているとすれば、

"○○市"であって100以上のセル数は、

=SUMPRODUCT((A1:A20="○○市")*(B1:B20>=100))

"○○市"であって100未満かつ30以上のセル数は、

=SUMPRODUCT((A1:A20="○○市")*(B1:B20<100)*(B1:B20>=30))

こんな感じでどうでしょうか。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

QExcel 特定の文字列間のセルの個数を数える方法

Excelの関数を用いて以下のような処理は可能でしょうか。

A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|
A|B|C|B|C|A|C|A|B|B|C|A|B|B|B|C|A|C|B|A|3|

セルA1からT1にはA,B,Cどれかの文字列が入っています。Aの文字列と次に現れるAの文字列との間にセルが3個以上あれば、U1のセルにその現れる回数が表示される。(上記の場合"3")
このようなことが、関数だけでできるでしょうか。
もしできるようでしたらそのやり方をご教授ください。
よろしくお願いします。

Aベストアンサー

VBAを使って、ユーザー定義関数を作れば簡単ですが、ワークシート関数だけを使うと下のようになりました。
作業用のセルを使っています。


セルV1 に探したい文字列を入力するとして、(例えばA)

セルE2:=IF(AND(COUNTIF($A$1:E1,$V$1)-COUNTIF($A$1:A1,$V$1)=1,COUNTIF($A$1:A1,$V$1)>0,E1=$V$1),1,0)
とし、セルT2までコピーします。

セルU1:=SUM(A2:T2)

A1:D1 はカウント対象外で、E1より右に対して、新たに探したい文字列が出てきたら、そのセルの4つ左までの探したい文字列の個数をカウントし、1つ少ないことを要件にしています。

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Qエクセル2000での質問-1つのセルに入っている文字列の中から特定の文字の個数を調べるには

例えばセルA1に「あい1うえ 1おかき11123くけこ」と入っているとします。

その中から、 (半角スペース)あるいは文字列が何個入っているのかを返す関数と言う物は有るのでしょうか?この例の場合半角スペースなら1、数字の1なら5という要領です。

Aベストアンサー

=LEN(A1)-LEN(SUBSTITUTE(A1," ",""))
=LEN(A1)-LEN(SUBSTITUTE(A1,"1",""))
ほいな。

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Q助けてください!〜特定の文字を含むセルの文字列を抽出する方法

関数初心です。
画像のように、例えば★を含むセルの文字全てを抽出する方法をどなたかご教示いただけませんでしょうか?
もう少し詳しくいうと、A列で★を含むセルの文字である「★バナナ」と「★レモン」を抽出する、という場合です。
どうぞ、よろしくお願いいたします。

Aベストアンサー

B2 に以下を入れます(配列数式なのでCtrl+Shift+Enterで入力)
=IFERROR(INDEX($A$2:$A$7,SMALL(IF(LEFT($A$2:$A$7,1)="★",ROW($A$2:$A$7),10000),ROW(A2)-1)-1),"")

あとは下へ向けてフィルドラッグです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報