なんと質問すればいいか・・
基本的にそういう関数があるか無いか?
知りたいのです

たとえばAの列に
2
4
3
6
1
2
1
4
5
3

など入っていて、オートフィルタをすると、
ドロップダウンボックスの選択する部分で
1
2
3
4
5
6
となりますよね?

つまり、指定の範囲の中から、単独の項目を引き出したいのです
オートフィルタがその機能があるのだから
それを作る関数ってエクセル持ってるはずですよね?
でもその関数がわからないんです

どなたかご存知ないですか?

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

A 回答 (5件)

関数ではなくて機能ですが、ピボットテーブルを作ると、異なる値が重複なく、漏れなく表にすることができますよ。


つまり、ご質問者さんのサンプルを元にピボットを使うと、以下のような結果が表になって見られます。

データの個数
1 2個
2 2個
3 2個
4 2個
5 1個
6 1個

この回答への補足

ありがとうございます
それで出来るのであれば関数にはこだわってないです
でも
ピボットテーブルってなんですか?
エクセルに普通についてるものですか?
あ、一応検索してみます
ありがとうございました。

補足日時:2005/04/23 13:59
    • good
    • 0
この回答へのお礼

調べてみました。
たぶん出来るのはできますね
ただ
こちらの説明不足だったのですが
アクティブではないので、ちょっと使いづらいです

データベースが完成してからでないと使えないというか・・

先ほどのA列っていうのはどんどん増え続ける&途中が変更する可能性があるので、そのたびにぴポットしないといけないんですね。。。

せめてオートフィルタをやった後のあの選択部分がコピーできれば言うことないんですけど・・・・

関数であると思ってたのが、甘かったみたいですね
オートフィルタだったら即座に集計するので、絶対あると思ってました。残念です

お礼日時:2005/04/23 15:00

>データベースクエリ?ってエクセルの機能ですか?


データベースクエリは、エクセルの機能です。
メニューのデータ~外部データの取り込み~新しいデータベースクエリで作ることができます。
メニューでは、外部データとなっていますが、
保存してから実行すれば、自分自身を外部データとして取り込むことができます。
クエリのSQL表現のサンプル
SELECT DataTable.data, Count(DataTable.data) AS '個数'
FROM `E:\sample\クエリ`.DataTable DataTable
GROUP BY DataTable.data

処理をする範囲にDataTableという範囲名を付けてあります。
また、データの一行目にフィールド名としてdataという文字列を挿入してあります。
数値と文字列が混在している時、個数を数えるには、
数値を文字列としておく
'5
とか
必要があります。

項目毎の個数を数えるだけだったら、
データ~並び替えをしてから
データ~集計(個数を数える)
で表示を閉じる(-)すればいいような気もします。
    • good
    • 0

こんなのじゃダメですか。



A B     C      Cの値
1 1 =COUNTIF(A:A,B1)   1
b 2 =COUNTIF(A:A,B2)   2
a 3 =COUNTIF(A:A,B3)   3
3 4 =COUNTIF(A:A,B4)   3
d 5 =COUNTIF(A:A,B5)   1
2 6 =COUNTIF(A:A,B6)   0
e 7 =COUNTIF(A:A,B7)   0
a 8 =COUNTIF(A:A,B8)   0
4 9 =COUNTIF(A:A,B9)   0
b a =COUNTIF(A:A,B10)  3
a b =COUNTIF(A:A,B11)  2
5 c =COUNTIF(A:A,B12)  1
4 d =COUNTIF(A:A,B13)  1
c e =COUNTIF(A:A,B14)  3
3   =COUNTIF(A:A,B15)  0
2   =COUNTIF(A:A,B16)  0
4   =COUNTIF(A:A,B17)  0
e   =COUNTIF(A:A,B18)  0
3   =COUNTIF(A:A,B19)  0
e   =COUNTIF(A:A,B20)  0

フォントの都合上,ずれて見えるかもしれませんが。
欠点はA列に新種が増えるとB列にその新種を1つずつメモしていかなければならないところですが,
それさえすれば自動的にC列に個数がカウントされます。

この回答への補足

ありがとうございます。
でも、当初の目的ではないんです
>その新種を1つずつメモしていかなければならない
これがメモせずに抽出したいんです。
むしろその数より、こっちがどうすればいいかって事なんです

なぜなら行が100単位で行が増えるからです。

いまはドロップダウンして、前にあったのかなかったのか判定して(目視で)あればそれを上の式のようにしてるんです。



オートフィルタを行って、ドロップダウンリストにはすぐに反映されますよね?(単独のものの抽出)
それが、なぜ、関数でないのか(もちろん行数が増えるからってのはわかるんですが)不思議でしょうがないんですよね

補足日時:2005/04/24 13:58
    • good
    • 0

>オートフィルタがその機能があるのだから


>それを作る関数ってエクセル持ってるはずですよね?
オートフィルタと同等なワークシート関数はないと思います。
強いていえば、SQL.REQUEST関数がそれに近いかと思います。
手順を踏んでもいいなら、
フィルタオプションで重複しない項目をC列にとりだしD列でCOUNTIFする
あるいは、
データベースクエリを使う
といいかと思います。
マクロを使えば、できるのはできると思います。

この回答への補足

ありがとうございます
データベースクエリ?ってエクセルの機能ですか?
もちろん調べてみます。
ありがとうございます

補足日時:2005/04/23 14:02
    • good
    • 0

質問が良く理解できませんが、


オートフィルタのドロップダウンボックスで例えば「1」を選択すれば「1」が抽出されます。
これでdeepimpactさんがやりたいと言われていることは出来てしまいます。
その先抽出したデータをどうしたいのか(例えばカウントしたいとか)によって、EXCELでのデータの抽出方法は色々とあります。
もうすこし詳しくやりたい事を書いて頂ければ、それに応じた回答ができると思います。

この回答への補足

すいません説明が下手で
具体的に行きましょう

A1~A20の範囲で
1
b
a
3
d
2
e
a
4
b
a
5
4
c
3
2
4
e
3
e

というデータがあります

これをC1から下に

1は1個
2は2個
3は3個
4は3個
5は1個
aは3個
bは2個
cは1個
dは1個
eは3個

と表現したいんです。(もちろん項目はC1で個数D1でかまいませんが)
それができる関数が知りたいんです。

上のデータはオートフィルタをして、数を数えて集計しただけなんですが、簡単にいうとオートフィルタを使わずにそれがしたいということです

例は1とかaとかですが、
本当はもっと違う言葉が入り、なおかつ
20行どころでなく2000行ほどあります。

C1から抽出する項目も、言えば固定できるわけでもなく A1-20に今1から5,A-Eとわかってますが、それもわかっては無く、その数ぶん抽出したいのです

説明伝わってますでしょうか?

補足日時:2005/04/23 12:23
    • good
    • 0

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


このカテゴリの人気Q&Aランキング