No.2ベストアンサー
- 回答日時:
>同じようなことができる関数でもよいです
これを質問に入れたために質問の意図がぼやけました。
エクセルの関数は、値を加工したり、1つ持って来たり
は出来ますが、レコードの取得という考えは出来ません。
例えばDGETなど、それらしい名前の関数もありますが、1フィールドの値だけしか返しません。
1レコードの全項目を項目ごとに取ってくれば1レコード分は揃えられると思いますが。
件数合計や計数合計なら計算できる可能性はあります。
質問には「COUNT」となっているので、出来る可能性は
あります。今すぐ思いつくのは、作業列を使いますが
(後述)。
>SQL
アクセスVBAで出来るごとく、エクセルVBAでもオブジェクト(=プログラム)の参照設定をやる方法を会得すれば、SQL文の実行が出来ます。コード作成・実行環境VBEがアクセスのものを使うかエクセルのVBEであるかの違いと思います。
当然既設定のソフト環境が違いますので、知識が要ります。
エクセルでも、「クエリ」でヘルプで照会してみると、
「外部データベースからデータを抽出する方法」
など載ってます。DISTINCTが使えるかどうか不知。
>WHERE SHOP = 'A'とDISTINCT
VBAでやればソートしておき、各レコードに付いてShopがAか判別し、ITEMキーが変化するごとに1だけカウントアップさせる方法が簡単でしょう。
(関数での回答例)取り急ぎでベターな回答か判りませんが。
(データ例)A2:B12(C,Dは関数式を入れた結果を先まわりに掲出したもの)
A列 B列 C列 D列
ax a x 1
ay a y 1
bz b z 1
by b y 1
ax a x 2
az a z 1
ax a x 3
bu b u 1
cv c v 1
cx c x 1
ay a y 2
(関数式)作業列
C2に=LEFT(" ",4-LEN(A2))&A2&LEFT(" ",5-LEN(B2))&B2
A列は4桁以内のコードか文字列、B列は5桁以内のコードか文字列と仮定。結合したキーを作る際に桁合わせをしているもの。
C3以下に式を複写する。
D2に=COUNTIF($C$2:C2,C2)
D3以下に式を複写する。
上記セル以外に
=SUMPRODUCT((A1:A12="a")*(D1:D12=1))
結果は3です(a-x,a-y,a-zの組み合わせ)。
(アドバイス)
質問文に「SQL」「DISTINCT」などを出しているが、エクセル上手の方がみんなSQLを理解できるかどうか疑問。
質問として、エクセルのカテで、文章で「A列がaで、且つA列とB列のデータを組み合わせて、重複分を除く件数のカウントの関数式」とでも質問した方が良いのではなかったでしょうか。
この回答へのお礼
お礼日時:2004/12/25 08:20
ありがとうございました。
アドバイスまで頂きましたが、
SQLを理解している人に回答頂ければ結構だとおもいました。
家庭向けではなく技術者向けに質問すべきだったかもしれません。
No.1
- 回答日時:
エクセルの表をSQLのデータソースとして、そのままSQLを発行して求めることはできます。
ヘルプでSQLで検索してみて下さい。
それ意外に方法だと、簡単にはできないと思います。
最悪、質問文のSQLと同等の動作をするプロシージャーを作成しなければならないと思います。
ワークシート上である程度作業することで作業を軽減できるとは思います。
例えば、データの抽出で重複をしないで、抽出しデータ数を数えるとか
DCOUNTAとCOUNTIFを複合して求めることもできると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) 重複したデータ(空白は除く)のVBA表記について 4 2022/08/15 07:28
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Excel(エクセル) 【Excel関数、count系】どなたか教示下さると助かります。 Excelでシフトを管理しており、 2 2022/07/09 06:34
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報