どの関数を使ったらよいのか教えてください。

1.例えば、1000以上2000以下の数値が入っているセルの個数をカウントしたい。この場合、COUNTIFで式を入れようとしても条件がひとつしか入らないので(">1000"のように)、他のどの関数を使えばいいのでしょうか。

2.ある文字列の中で同じ文字があった場合、その文字とセルの個数をカウントしたい。例えば、ある範囲にA,D,W,D,R,D,A,A,Wとあった場合、A 3,D 3,W 2,R 1というような結果がほしいのですが。
基本的なことで質問して申し訳ないのですが、急いでやらなければならないことがありますのでよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

1.に関して言えば、


=IF(C2<1000,"",IF(C2>2000,"","a"))
この数式を使う手もあります。
これで、aの数をカウントするんです。
(式の意味は、1000未満なら空欄、2000より大きくても空欄、
そうでなければ=1000以上2000未満なら「a」を表示せよ)
とゆぅわけで、後はCOUNTIFで"a"の数を数えると。

2.に関して言えば、nishi6さんの言うとおりで、ピボットテーブルでOKです。
多分分かると思いますが念のため。(大丈夫なら読み飛ばしてください。)


(B列の1行目から順に、作家,a,b,a,c,a,b,c,a,d,a,e,dと入っているとしましょう。アルファベット一文字は作家の名前です。)
データ(D)→ピボットテーブルとピボットグラフレポート
で、ウィザードが出てきて、
分析するデータのある場所は「Excelのリスト/データベース」、作成するレポートの種類は「ピボットテーブル」です。
(ちなみにどちらもそのままそれになってるはずです。)
次へで、使用するデータの範囲を聞かれますので、B列の希望範囲を指定します。
(場合によっては範囲が勝手に指定されています。例では、B1:B13ですね。)
次へで、ピボットテーブルの作成先を聞かれますので、確か下に書いてあったのは、隣の列でよさそうだったので、「既存のワークシート」の「C1」を選んで、次にレイアウトをクリックします。
レイアウトの画面で、「作家」という四角(フィールドって言います)がありますので、これを「行」と書いてあるところと、「データ」と書いてあるところにドラッグします。
(すると、行の上側に色が変わった状態で「作家」、データの欄には、「データの個数:作家」とかかれたものが表示されるはずです。
ちなみに、データの個数になっていない場合は、そこをダブルクリックして、「データの個数」を選んでください。)
これで準備OK!
レイアウト画面をOKボタンで閉じて、完了をクリックすると、表になって完成します。
以上でした。
    • good
    • 0
この回答へのお礼

とてもわかりやすい回答をありがとうございました。
初めてピボットテーブルを使いました。思ったような表を作ることができ感謝しています。どうもありがとうございました。お手数をおかけいたしました。

お礼日時:2001/11/23 03:58

1.について別の方法です。

例えば、G2:G11を対象として、
 =SUM(IF(G2:G11>=1000,IF(G2:G11<=2000,1,0),0))
として、Ctrl+Shift+Enter で登録します。配列数式を使っています。

2.について、VBAを使うこともないでしょう。
  データ→ピボットテーブルと・・・・でピッボットテーブルを使えば直ぐできるでしょう。
    • good
    • 0
この回答へのお礼

いろいろな方法があるのですね。使い慣れている人にとっては簡単なことなのでしょうけど、とても勉強になりました。どうもありがとうございました。

お礼日時:2001/11/23 03:54

え~VBAというのは、「Visual Basic for Application」の略で(確か)


簡単に言うと、(この場合は)エクセル専用のプログラミング言語です。
基礎となっているのは「Visual Basic」という言語です。

1--> 数学の基礎が出来てなくてすいません(^^; フォローどうもです

2--> 何の文字かわからない、ランダムに入っているですか・・・
    とりあえず、 No3の cupidchain さんと同じ事が知りたいでっす。
    • good
    • 0

どもでーす。


1.の方にはお答えがあるようなので、
(たぶん、COUNTIF関数の部分に「=」が必要(でないと以上にならない)かと思うのですが・・・揚げ足取っちゃって申し訳ありません。汗)
2.の方を一緒に考えましょう!
とりあえず下のこと、教えてください。
ひとつ、文字列はひとつのセルに入ってるのかどうか。
ふたつ、カウント結果は降順(数字の多い順)でアルファベット順である必要があ    るのか
みっつ、ローマ大文字のみなのか

この回答への補足

ご回答ありがとうございます。
1.の方のご指摘ありがとうございました。そうですね、=を入れます。
2.の方ですが、アンケート集計をするため、B列に「あなたの好きな作家名」(すべて日本語)が3000行ほど入力されています。ですから理想としてはB列を元にC列に「作家名」、D列に「カウント数」を入れ、それを降順に並べられればと思います。カウント数が降順に並んでいさえすればいいので、同じカウント数の中の順序はどうでもいいのです。ソートは自分でやっても構いませんので、とにかくC列には重複した作家名が表示されないようにしたいわけです。

素人は質問さえもうまくできないのが悲しいです。お手数ですがまたよろしくお願いいたします。

補足日時:2001/11/22 08:52
    • good
    • 0

Microsoft Accessはお持ちじゃないですか?


条件式も複数設定できるし、クエリー作成の際にグループ化、カウント機能を使えば2.のようなデータも簡単に作成できますが。
エクセルではちょっと解りません。ごめんなさい。
    • good
    • 0
この回答へのお礼

早速ご回答いただきありがとうございます。
私はMicrosoft Accessは持っていないのですが、エクセルより条件式を複数設定できるとのことですから、今度購入しようと思います。

お礼日時:2001/11/22 01:02


COUNTIFを組み合わせて使います。

例) =Countif(範囲,>1000)-Countif(範囲,>2000)

これで、範囲内の1000以上2000以下のセルの個数が出てくると思います。


こちらは

どの文字列があるかがわかっている場合では

=Countif(範囲,"a")

で、その範囲内の a の個数が出ると思います。("a"は他のセル参照でもOK)

ただ、範囲内に何の文字があるかわからずそれらの全ての個数を求める場合は
VBAの力が必要かと思います(^^;

この回答への補足

1の方は教えていただいた式で無事できました。ありがとうございました。
あまりの知識のなさに呆れていることだとは思いますが、ご親切に答えていただいて感謝いたします。
また2の方ですが、文字列がわかっていない状態です。「VBA」ってどういう意味ですか?すみませんが教えてください。

補足日時:2001/11/22 00:57
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

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

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

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

Aベストアンサー

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

QA1セルにAと入力すると、A2セルに3000A3セルに2000A4セルに1000と表示させたい。

A1セルに「A」と入力する1回だけで、
A2セルに「3000」
A3セルに「2000」
A4セルに「1000」
A5セルに「合計数字」を表示させたいのですが、
式をご教授願いたいです。

よろしくお願いします。

Aベストアンサー

D1:G3
A500030001000
B500300130
C1200800300
A1にA,B,Cのどれかを入れる。
A2に =VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE)と入れて、
A4まで(G-D-1列数だけの行数)式を複写する。
結果
A1がBの場合A1:A4は
B
500
300
130

A1の空白の場合に対処して
=IF(A1="","",VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE))
が良いでしょう。
(既回答とほぼ同じ式ですが、1箇所違うところがあります。)

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=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

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に関する質問です。 例えば【D列】のセルに「●年▲ヶ月」,「●年」,「▲ヶ月」という勤続年

EXCELに関する質問です。
例えば【D列】のセルに「●年▲ヶ月」,「●年」,「▲ヶ月」という勤続年月データが入力されているとします。この列の平均年・ヶ月を求める事は可能でしょうか?宜しくお願い致します。

Aベストアンサー

それは数字で入ったデータではなく、文字で入ったデータということでよろしいでしょうか?
であるならば、該当する●(年)と▲(ヶ月)を抽出し、年もしくは月に単位を合わせて合計(1年3ヶ月なら1+3/12=1.25年or12*1+3=15ヶ月)を表示する列を作り、その列の平均を求め、結果を年と月に分ける必要があります。

具体的には、Eに年、Fに月、Gに合計(月単位)を表示するとして、
E1=IF(ISERROR(FIND("年",D1))=TRUE(),0,LEFT(D1,FIND("年",D1)-1
F1=IF(ISERROR(FIND("ヶ月",D1))=TRUE(),0,IF(ISERROR(FIND("年",D1))=TRUE(),LEFT(D1,LEN(D1)-2),LEFT(RIGHT(D1,LEN(D1)-FIND("年",D1)),LEN(D1)-FIND("年",D1)-2)))
G1=E1*12+F1

平均はAVERAGEで求められるので、それをH1に表示させるとして、
H1=AVERAGE(G:G)
これをI1に年、J1に月、と分けるので
I1=INT(H1/12)
J1=MOD(H1,12)
この場合平均の年は整数ですが、月は小数になる可能性が高いです。
1つのセル(K1とします)に「平均○年△ヶ月」とまとめて表示させたいなら、
K1="平均"&I1&"年"&J1&"ヶ月"
としたいところですが、小数でもそのままX.XXXXXXXXXヶ月といった感じの表示になってしまうので、
K1="平均"&I1&"年"&ROUND(J1,□)&"ヶ月"
としましょう。丸めたい桁数に合わせて□に数字を入れてください。
(1とすればX.Xヶ月。2とすればX.XXヶ月。といった風になります。小数の場合で、一番下の桁が0となる場合は、0以外の数字の桁までしか表示されません)
この場合四捨五入ですが、繰上げで表示したい場合はROUNDUP、切捨てで表示したい場合はROUNDDOWN、にそれぞれ変更してください。()の中は同じです。

今回は段階別に多数のセルに分けましたが、
中身が理解できるのであれば、H1~K1の内容は1つのセルに詰め込むことができます。
同様にE~G列も1列で表示させることはできます。
ただ、G列の表示を省略してH1の結果を出すには配列計算が必要になるのでお勧めしません。
可能であるなら、最低1列作業列を作り、その行のD列にあるデータが何ヶ月(もしくは何年)を表しているのかをきちんと表示させるようにしましょう。
段階を踏んでセルを分けることにより、途中計算がきちんと表示され、ミスがあった場合も分かりやすく、なおかつ修正し易いです。
普段使う時に邪魔であれば、非表示にすることも可能ですので、無理に1つのセルに詰め込まないようにしましょう。

それは数字で入ったデータではなく、文字で入ったデータということでよろしいでしょうか?
であるならば、該当する●(年)と▲(ヶ月)を抽出し、年もしくは月に単位を合わせて合計(1年3ヶ月なら1+3/12=1.25年or12*1+3=15ヶ月)を表示する列を作り、その列の平均を求め、結果を年と月に分ける必要があります。

具体的には、Eに年、Fに月、Gに合計(月単位)を表示するとして、
E1=IF(ISERROR(FIND("年",D1))=TRUE(),0,LEFT(D1,FIND("年",D1)-1
F1=IF(ISERROR(FIND("ヶ月",D1))=TRUE(),0,IF(ISERROR(FIND("年",D1))=T...続きを読む

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エクセルで同じA列の中に、1,2,3,4,5,6,2,3,4,2,1,3,2,2,2,3,1という

エクセルで同じA列の中に、1,2,3,4,5,6,2,3,4,2,1,3,2,2,2,3,1,3,1というような順番で数字が並んでいます。

その数字の中で、1→3と3→1になるものがいくつあるか求めたいのですが、出す関数・マクロがわかりません。
教えていただけないでしょうか?

よろしくお願いします。

Aベストアンサー

こんばんは!

>A列の中に
とは行方向に数値が入っている!というコトでしょうか?

そうであれば
表示したいセルに
=COUNTIFS(A1:A1000,1,A2:A1001,3)+COUNTIFS(A1:A1000,3,A2:A1001,1)
としてみてください。

「1」の次の行が「3」の場合と
「3」の次の行が「1」の場合をプラスしています。m(_ _)m

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),"")を設定
   入力文字列が存在しない場合は空白としています。

QEXCELでCOUNTIF(,,)のようにセルの書式を条件でセルの数をカウントする方法

表計算ソフトのEXCELでCOUNTIF(,)関数では検索条件には数字や文字列だけのようですが、セルの書式(塗りつぶした色等)の検索条件でセルの数をカウントする方法はありませんか?
生産計画日程表に実績日を色塗りして日程毎に集計する場合に有効な気がします。計画日のセルに△を記入して、実績日のセルに○等を記入すればできることはできるのですが、計画日と実績日が同じ場合はうまくいきません。紙の上でやるように計画に△、実績日のセルを赤色に着色して、赤色のセルをカウントさせることができれば、計画と実績が同じでも問題なく好都合なのです。データーが少ない場合は紙の帳票なら簡単にできるのですが、データーが多いと大変です。

Aベストアンサー

過去ログの一例:
http://oshiete1.goo.ne.jp/qa2165726.html


人気Q&Aランキング

おすすめ情報