
A 回答 (2件)
- 最新から表示
- 回答順に表示

No.2
- 回答日時:
#1です。
>ちなみにデータベースとしてエクセルを使用する場合、
>セルに数式や関数は使わないほうがいいのでしょうか?
ん~、まず、教科書的な回答としては、
「そもそもExcelをデータベース管理に使うのが無茶」です。
Excelはあくまで「表計算」ソフトで、
想定している用途は「表」や「リスト」の作成管理ですから、
「データベース」と呼べるほど規模の大きいデータを取り扱うのは、
いろいろな意味で無理があります。
ただし「ならどんなソフトでどうすれば良いのか?」となると私には答えられませんし、
導入・運用・保守・管理・引継その他諸々のコストを総合的に勘案した結果、
「多少無理してでもExcelでやりたい」ということはあると思いますので、
以下、あくまで一般論ですが、いくつかアドバイスを。
-----------------------------------------------------------
●自動再計算をオフにする。
オプションで計算方法を[手動]にして、
必要な時だけF9キー等で再計算する。
●値として確定する
変化することのない値や、作業に伴って一時的に計算した値は
コピー>編集>形式を選択して貼り付け>値
で、結果を値に確定する
(通常の「表計算」では逆に数式を残しておいた方が良いですが)
●組み込みの機能を活用する
数式だけで(理論的には)たいていのことはできますが、
フィルタ・ピボットテーブル・クエリ等を活用した方が、
処理速度の点で優位です。
●数式にもよる
先述のCOUNTIFのように、縦方向に参照する数式は、
特定の行の内容や位置が変更されただけで全部再計算ですから、
非常に重たい処理になります。
一方、単に横方向にセルを参照して計算する数式であれば、
再計算負担はそれほど大きくありません。
●数式の書き方にもよる
一見同じ動作をする数式でも、書き方によって
速い(軽い)数式と遅い(重い)数式があります。
●作業列を積極的に使う
作業列を使わず、関数をネスト(入れ子に)して一発で計算するような数式は、
一見スマートに見えますが、一般に処理自体は鈍重になります。
●無駄なエラー処理をしない
「エラー値を見せない」ためだけに
=IF(ISERROR(数式),数式)
みたいにすることがありますが、これでは「2回ずつ」計算することになります。
数式自体はエラー値をそのまま返させておいて、
・[条件付き書式]でエラー値を白フォントにする
・[ページ設定]でエラー値を印刷しないようにする
といった対処法の方が軽い処理になります。
-----------------------------------------------------------
例えば、ご質問の例であれば、出身地の種類は高々47種類しかないので、
【スマートに】COUNTIF一発で書くよりもむしろ、
D2セル:まず、上方について、探してみる
=VLOOKUP(C2,$C$1:E1,3,0)
E2セル:なければ、下方について、数える
=IF(ISNA(D2),COUNTIF(C2:$C$65536,C2),D2)
つまり、
「初出の場合のみ数える。初出でなければ、すでに出ている数字を探して使う」
方がはるかに軽い処理になりますし、
いっそのこと、都道府県別の頻度を別表として用意して、
その表からVLOOKUPで探すようにすれば、さらに軽くなります。
以上ご参考まで。長乱文陳謝。

No.1
- 回答日時:
質問文の例で、
仮に、A1セルから入力されているとすると、
出身地の入力されている列はC列ですね。
また、1行目は見出し行で、データが2行目からだとすると、
D2セルを
=COUNTIF(C:C,C2)
として下方にフィルすれば、同じ出身地の人が何人いるかが表示されます。
あとは、D列をキーにして、降順で並べ替えればOK。
■Excel豆知識20-5:エクセル:並べ替え
http://www11.plala.or.jp/koma_Excel/contents3/ma …
■Excel豆知識8-2:エクセル:COUNTIF関数
http://www11.plala.or.jp/koma_Excel/contents1/ma …
この回答へのお礼
お礼日時:2008/03/10 01:27
回答ありがとうございました。
早速試したところ、期待通りの結果が得られました。
ちなみにデータベースとしてエクセルを使用する場合、セルに
数式や関数は使わないほうがいいのでしょうか?
並べ替えをした時にすごく時間がかかるのですが・・・?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するQ&A
関連するカテゴリからQ&Aを探す
おすすめ情報
人気Q&Aランキング
-
4
【エクセル】0以外が入力され...
-
5
Excelの数値の桁数が増えてしま...
-
6
エクセルで参加者を管理 出席...
-
7
Excel MONTH(A1+11)はなぜ翌月...
-
8
Accessで割り算の余りを求める...
-
9
AccessでExcelでのMOD関数と同...
-
10
エクセル ユーザー定義関数が...
-
11
EXCELで、条件によって計...
-
12
エクセルで多項式の掛け算を簡...
-
13
Excelエクセルでの計算!!値引...
-
14
エクセルでの数式入力 水平距...
-
15
エクセルで時間の差の出し方は?
-
16
エクセル 計算式のドラッグで...
-
17
総和
-
18
Excelで関数の計算結果を分子・...
-
19
エクセルVBA データ型 Singleと...
-
20
アーランB式における回線数を...