[データ]−[複数演算]でデータベース関数を使った数式が使用できない †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | 穴熊 |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2009-08-16 17:13:49 (日) |
OS | Windows XP |
依存するページ | Issue #72718 |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
エクセルで作成した演算表(データテーブル)をCalcで開いてみました。算術を使った表は、問題なくコンバートされていました。
でも、Dcount等のデータベース関数を使った数式は、「エラー:504 パラメータリストにエラー」になります。Calcは、データベース関数は使えないのでしょうか?
ちなみに、このような作業が行いたかったのですが。
以下のデータベースを、ラベルを列に「性別」、行に「選択商品」配置し、カウントしたい。
A列 B列 1行 性別 選択商品 2行 男 ac 3行 女 bc 4行 女 cd 5行 男 adc 6行 男 b 7行 女 ab 8行 女 bd 9行 男 c
抽出条件は、
D列 E列 1行 性別 選択商品 2行
演算表は、
セル「D4」に、=DCOUNTA($A$1:$B$9,1,$D$1:$E$2)
D列 E列 F列 G列 H列 4行 数式 *a* *b* *c* *d* 5行 男 6行 女
結果は、
D列 E列 F列 G列 H列 4行 数式 *a* *b* *c* *d* 5行 男 2 1 3 1 6行 女 1 3 2 2
データベース関数について †
M.Kamataki (2009-08-16 23:50:05 (日))
>セル「D4」に、=DCOUNTA($A$1:$B$9,1,$D$1:$E$2)
Excelでは、パラメータの区切りは「,」(カンマ)ですが、Calcでは「;」(セミコロン)になります。したがって数式は下記のようになります。=DCOUNTA($A$1:$B$9;1;$D$1:$E$2)Calcの検索では「正規表現」で指定することになります。ここはExcelと互換性は微妙ですね。「*a*」は「.*a.*」と書き換えないと期待した結果にならないでしょう。
CalcではF1キーを押すとオンラインヘルプを表示できます。「目次」タブで「表計算ドキュメント」−「関数の種類と演算子」−「データベース関数」の項目をご覧ください。検索機能の「正規表現」についてもこちらで調べることができます。
データベース関数、ありがとうございました †
穴熊 (2009-08-17 15:50:55 (月))
M.Kamataki さん、回答ありがとうございます。
検索値のセルE2に「正規表現」に書き換えた値「.*a.*」と入力し、数式のセルD3のデータベース関数の動作を確認してみました。答え「3」と、正常に動作しました。
だけど、4行目の行ラベルを「正規表現」に書き換えても、[データ]−[複数演算]を行うと表の結果は、エラーがでます。
上記のワイルドカードを使った2つの変数の演算表は使わず、試しに1つの変数で、[複数演算]を行いましたがエラーがでました。
[複数演算]は、データベース関数自体には対応していないのでしょうか? または、私のやり方が間違っているのでしょうか?
複数演算について †
M.Kamataki (2009-08-17 16:32:21 (月))
>Calcは、データベース関数は使えないのでしょうか?
最初、というご質問でしたので、DCOUNTAの使い方で回答しました。しかし、ご質問のタイトルにあるCalcの「複数演算」についての知識がほとんどなく、調べているところでした。しかも確かに「エラー:504 パラメータリストにエラー」になる、という現象も確認できました。
http://k-flow.blog.so-net.ne.jp/2009-04-13
そんな中、上記のページに「OpenOfficeには、データテーブルの代わりに複数演算という機能があり、それを用いることでデータテーブルと同様の処理が可能とのことなのですが、現時点においてまだうまく処理できていません。」という記述が見つかりました。
OpenOffice.orgの不具合・要望のデータベースであるIssueTrackerを調べると以下のIssueが見つかりました。どうも複数演算したい数式に範囲指定があると「エラー:504」になるみたいです。
Multiple Operations problem
http://ja.openoffice.org/issues/show_bug.cgi?id=72718
データベース関数を使った数のカウントは正しく動作するので複数演算ではなく、データベース関数の演算用のデータを用意し、数式を表に直接入力する方法をとられたほうが良いかも。。です。
無題 †
穴熊 (2009-08-18 23:59:08 (火))
いろいろ調べていただきありがとうございます。
直接入力で、やってみます。
不具合にしますね †
M.Kamataki (2009-08-19 10:12:09 (水))
コメントありがとうございます。原因は複数演算機能の不具合にあるようなので、依存するページにIssue番号へのリンクを記しておきます。
ページ番号を変えました †
M.Kamataki (2009-08-19 15:38:50 (水))
faq/5/6へページ番号を変更しました。faq/5/3をご覧ください。