エクセル2000を使用していますが、データの個数は、
COUNTA関数でできますが、重複しているデータもカウントしています。
これを重複しているデータは、いくつあっても1回しかカウントしないで求める関数は、あるのでしょうか。

A 回答 (1件)

関数1つで求める方法はないかも?


私が知らないだけかも知れないけど・・・。

データの範囲がA2~A20まであるとして
B2のセルを =1/COUNTIF($A$2:$A$20,A2) と入力して
B2のセルをコピーしてA3~A20まで貼り付けます。
A21のセルに =SUM(B2:B20)
と重複しないデータ数が得られると思います。

これだとデータの数だけ別のセルが必要になりますが・・・。^_^;

他の方法だとユーザー関数にするとか?
フィルタで重複データを無視するにしてCOUNTA関数で求めるとか・・。
    • good
    • 0
この回答へのお礼

ありがとうございます。
実は、これを開く前に解決していました。
=IF(COUNTIF(A$1:A1,A1)=1,1,"") をデータ行コピーして合計したら出ました。

お礼日時:2001/04/28 19:22

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

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

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

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

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

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

Aベストアンサー

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

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

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

Q関数で可視セルのデータ個数カウント

Excel2002を使用しています。
オートフィルタで抽出したデータの個数を関数で
カウントしたいのですが、可視セルのみをカウント
出来る関数はあるのでしょうか?

例えば

  A
1 件数
2  2
3  1
4  3
5  1
6 関数


A6セルに何らかの関数を入れておき、
A列のオートフィルタを使って、1を抽出した時は
A6に”2”
3を抽出した時はA6に”1”を表示させたいの
です。
このように、可視セルのデータ個数のみを
カウントする関数はありますでしょうか?

フィルタを使わずにCOUNTIF関数でカウントする
方法、また、可視セルをコピー貼り付け後
カウントする方法は避け、あくまでフィルタで
抽出したデータの個数を瞬時にカウントしたいの
です。
ご教授宜しくお願いします。

Aベストアンサー

=subtotal(2,範囲)

A6だとオートフィルタで消されちゃうので1行目に行挿入してA1にする方が良いです。

Qエクセルの関数で

エクセルの関数辞典を見ていたら、CUMPRINC関数というのがありました。
しかし、エクセルの「挿入」→「関数」→関数の分類で「財務」というのを選択したのですが、一覧表に載っていません。
どこに載っているのでしょうか?
どうすればこの関数を使えますか?
ちなみにシートの上でやっても関数の反応をしませんでした。

Aベストアンサー

Yahooで検索してみると、参考URLが引っかかりました。

参考になりませんか?

参考URL:http://money-sense.net/doc/20041215_224257.php

QExcelステータスバーの「データの個数」(オートカルク)が空欄もカウントする

 Excelで、画面右下、ステータスバーに、選択したセルのデータの個数や合計などを表示させる「オートカルク」機能があります。
 「データの個数」を表示させるモードで、空欄セルを選択しているも関わらず、データがあるものとしてカウントする場合があります。
 ブランクや関数が入っているわけでもなく、カウントされない通常の空欄セルと、「=if(問題のセル=通常の空欄セル,"*","")」で比較してみましたが、しっかり"*"が表示されました。
 なお、問題のセルでdeleteキーを押すと、以降はカウントされなくなります。
 このような「カウントされる空欄セル」の正体と、出現を防ぐ方法を教えいただけますでしょうか。

Aベストアンサー

ステータスバーの「データの個数」はCOUNTA関数と同じで「値として入力したNullデータは1個とカウントする」仕様のようです。

またA1セルに「=""」を入力し、B1は「全くの空白」として
 =IF(A1=B1,"*","")
と入力すれば「*」が表示されます。これが「正体」だと思います。

つまり明示的、あるいは関数で入力したNull値がある場合はオートカルクの「セルの個数」は見た目と合致しません。
 =SUMPRODUCT((LEN(A1:A100)>0)*1)
のような式で「=""」の個数を除外することは可能ですが、オートカルクではできないでしょう

Qエクセルの関数 ネスト

エクセルの関数 ネスト

エクセルの関数で、ネストさせるときがあるとおもうのですが、

関数を内側に書いたらよいのか外側に書いたらよいのか分からなくなる時があります。

エクセルの関数に関してわかりやすく書いてあるページなどありますか。

Aベストアンサー

こんばんは

Excel2003までは、ネストが7まで、2007では64までが可能です。
http://www.google.co.jp/search?hl=ja&source=hp&q=excel+%E3%83%8D%E3%82%B9%E3%83%88%E3%80%802003%E3%80%802007&aq=f&aqi=&aql=&oq=&gs_rfai=

「仕様上は可能」でも、複雑なネストは間違いが生じやすいですし、変更もしにくくなります。「出来るだけネストはしない」「適宜、中間結果をセルに出力する」という方法を採った方が、間違いが少なく、柔軟性のあるシステムになると思います。

>エクセルの関数に関してわかりやすく書いてあるページなどありますか。
関数の個別の機能ならば、Webサイトも書籍も多数あるのですが、「組み合わせて使う」というのはその場その場での発想になってしまうと思います。

Q値の貼り付けとcounta関数(空白をカウント)

A1 1
A2 a
A3 a
A4 1
A5 a

上記のデータがあります。(aは任意の文字列、1は数字の1のみ)

1.B列に、「=IF(A1=1,"",A1)」を入力。(1を消すためです)

2.C列に、B列をコピー、形式を選択して値を張り付け。(値のみをカウントするため)

3.C6に「=COUNTA(C1:C5)」を入力。計算結果=5。


空白以外のセルをカウントして欲しいので、COUNTA関数用いたのに、
空白もカウントされてしまいます。
なお、手作業で空白セル(C1)をデリートすると、計算結果は「4」になります。

計算結果として「3」を表示させる方法をご教授ください。
(データは8000件以上あり、手作業での空白セルのデリートは不可能です)

あるいは、違ったやり方での正しい計算結果の出し方があれば、お願いします。

D列に「=CLEAN(B1)」「=SUBSTITUTE(B1," ","")」を入力、E列へ値の貼り付け、もE6のCOUNTAの結果は5になります。(当然D6も)

以上、よろしくお願いいたします。


環境:エクセル2000 XP Pro

A1 1
A2 a
A3 a
A4 1
A5 a

上記のデータがあります。(aは任意の文字列、1は数字の1のみ)

1.B列に、「=IF(A1=1,"",A1)」を入力。(1を消すためです)

2.C列に、B列をコピー、形式を選択して値を張り付け。(値のみをカウントするため)

3.C6に「=COUNTA(C1:C5)」を入力。計算結果=5。


空白以外のセルをカウントして欲しいので、COUNTA関数用いたのに、
空白もカウントされてしまいます。
なお、手作業で空白セル(C1)をデリートすると、計算結果は「4」になります。

計算結果として「3...続きを読む

Aベストアンサー

文字列のセル数と数値のセル数を数えたいのですよね

画像を参照
文字列のセル数   D1に =COUNTA(A:A)-COUNT(A:A)
数値「1」のセル数  D2に =COUNT(A:A) 

Qエクセル関数の解読サイトなんてありますか?

エクセル関数の解読サイトなんてありますか?

いつもお世話になっております<(_ _)>

エクセルファイルに関数の入った数式が入力されています。
セルごとに複数の関数が入っていますが、私にはちっともわかりません。

そこで質問です。
こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか?

たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。
すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。

それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>

Aベストアンサー

もし、

=IF(E14="","",IF(O14="",(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1300,(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1625))

だったら、どういう文章が出て欲しいのでしょうか?

もしE14が空白だったら、
 空白、
そうじゃなかったから、
 もしO14が空白だったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1300
 そうじゃなかったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1625

って感じですか?
数式をそのまま読解したほうが解りやすくないですか?

Q《エクセル2000》重複しているデータが「何回目の既出か」を出す関数ってありますか

データがA列に100件入っているとします。
その中には重複しているデータもあるのですが、重複している場合「何回出てきたか」を返す関数はありますか?

上からデータをチェックしていって、2回目に出てきたら2、3件重複していて3回目に出てきたら3が入るといったような、です。

Aベストアンサー

こんな感じかな
A1に
=COUNTIF($A$1:A1,A1)
といれ下にコピー

Qエクセル関数を、書き写して分析できるツールはある?

タイトルの件、質問します。

エクセルの関数を分析する際に、エクセルの数式バーや、セルに入っている関数を
F2を教えて見るのでは、見にくい場合があります。

現在は、私は、メモ帳に関数をコピーして、分析したり、修正したりしています。
エクセルの機能or他ソフトで、関数を分析できるツールはあるのでしょうか??

【エクセルバージョン】
2003、2007

Aベストアンサー

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利な方法です。
そもそも計算が通っていない(たとえばカッコの対応が間違えていて,Enterしても受け付けてくれないようなミスをしている場合)には使えません。



また,数式バーの中で数式の「中」にカーソルを入れて左右の矢印キーでカーソルを動かしていったときに,「(」や「)」をまたいだ瞬間に,対応する「閉じカッコ」「始まりのカッコ」が色つきで強調表示されるのを確認しながら,カッコの対応がまちがえてないかなどを調べるのも簡易な良い方法です。


あまり使わない方法ですが,数式の中で適宜ALT+Enterを打って「セル内改行」してしまい,数式を縦に分解して書いてみるのも整理しやすい方法のひとつです。

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利...続きを読む

QExcel 重複データを含むデータ数のカウント

Excel2003を使用しています。

重複データを1つとして数え、セルK12:K473の範囲(空白セルあり)にあるデータの個数を求める数式を過去の質問を参考にして、下記のように入力しました。

【数式1】
=COUNT(INDEX(1/(MATCH(K12:K473,K12:K473,0)=ROW(K1:K462)),0))

→結果は44でした。


空白セルを除いた状態のK列のデータをM列にコピペし、これも過去の質問を参考にして、下記のように入力しました。

【数式2】
=SUMPRODUCT((MATCH(M12:M84,M12:M84,0)=ROW(M1:M73))*1)

→結果は43でした。

職場で使用しているシステムへの入力漏れがないかをチェックしたくて、上記のようなことをしたのですが、入力した件数をシステムで検索した結果は43件でした。
最初は【数式1】で得た結果とシステムでの検索結果が合わないので、ひとつひとつ確認したのですが、入力漏れもなかったので、試しに【数式2】で調べてみると、システムでの検索結果と合致しました。

【数式2】では空白セルを含む場合はエラーが出るようでしたので、【数式1】でチェックしようとしたのですが、正しい結果が得られなかったのは、私の入力した【数式1】が間違っているのでしょうか?

Excel2003を使用しています。

重複データを1つとして数え、セルK12:K473の範囲(空白セルあり)にあるデータの個数を求める数式を過去の質問を参考にして、下記のように入力しました。

【数式1】
=COUNT(INDEX(1/(MATCH(K12:K473,K12:K473,0)=ROW(K1:K462)),0))

→結果は44でした。


空白セルを除いた状態のK列のデータをM列にコピペし、これも過去の質問を参考にして、下記のように入力しました。

【数式2】
=SUMPRODUCT((MATCH(M12:M84,M12:M84,0)=ROW(M1:M73))*1)

→結果は43でした。

職...続きを読む

Aベストアンサー

>空白セルを除いた状態のK列のデータをM列にコピペし、

どのような操作で空白セルをのぞいたのでしょうか?

元データがエクスポートしたデータ数式や得られた値を「値」に変換した場合は、空白セルが文字数0の文字列となることがあります。
このとき、オートフィルタで「空白セル以外」を選択すると、本当の空白以外の空白文字列も選択対象になる(実際の空白セルと同じとみなされる)ので、実際に文字列が入力されたデータだけを抽出できます。

しかし、元データには空白文字列が混入している場合は、実際の値よりも1大きい値が表示されることになるわけです。

このような場合は、その列を選択して。「データ」「区切り位置」で「完了」すると、空白文字列を本当の空白セルに変更できます。

これを確認するには、どこかのセルに「=TYPE(空白に見えるセル)」の数式を入力するとで2が返ります。


人気Q&Aランキング

おすすめ情報