エクセルもアクセスも初心者の私ですが、
両方とも関数をつかいますよね。
どちらのほうが一般的に頻度が高いでしょうか?
関数辞典を購入しようと思ったのですが、両方一度には料金がかかってしまうのでどちらかにしたいと思っています。
また、辞典を買わなくても、ネットで関数の辞典みたいなので分かりやすいものがあったら是非教えていただきたいです
よろしくお願いいたしまーす

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

A 回答 (3件)

これから勉強してマスターするのですか?それとも仕事で使うので勉強


するのでしょうか?

何れにしても皆さんが指摘している様にExcelをマスターした後に
Accessを勉強した方がいいです。

両者の違いを一口で言うと目に見える範囲で処理されるのがExcelで
目に見えない部分が多いのがAccessです。(Excelでマクロを
組むと見えないところの処理が出てきますが)

Accessは一応RDB(Relational Data Base)なので敷居は高いです。
他のRDBを使った経験があるのでしたら、検索機能は関数よりもSQLを
駆使した方がより完成度の高いものが出来ます。

verybeeさんの他のソフト知識レベルが判らないの失礼なことを言って
いましたら申訳ありません。
    • good
    • 0
この回答へのお礼

勉強途中で、壁にぶつかり、仕事ではACCESSに事務管理が移行しつつある
という感じです。
なので、一足飛びにACCESSかなとも考えたのですが、
やっぱり、御3方の回答から考えますとEXCELからマスターしたほうが
よさそうですね。“いそがば回れ”ですね^o^/
ありがとうございました。

お礼日時:2002/02/23 05:28

一般的なのはEXCELだと思います。


EXCELもACCESSもVBAというプログラム言語を使用しますが、このVBAに関する部分はある程度共通です。
EXCELにしかない関数(ワークシート関数)やACCESSにしかない関数(マクロ系)などはそれぞれ独立しています。

ソフトをインストールされる時にオンラインヘルプもインストールされていればこの辺りはすべて情報として見れると思います。

書籍やネット上の識者のホームページにつきましては
http://www.google.com/
で「EXCEL」、「関数」、「リファレンス」などをキーワードにして検索すると
たくさんヒットします。
    • good
    • 0
この回答へのお礼

一般的なのはEXCEL。。。そうですよね、
EXCELなら使ったことあるけれど、ACCESSはないという話は
よく聞きますものね。
ありがとうございました。

お礼日時:2002/02/23 05:22

業務でどちらを主に使用するかはわからないのですが、関数の勉強ということならエクセルの方がよいのではないでしょうか。


エクセルに関しては参考になるHPも多いと思いますよ。
↓ご参考までに
http://www.katch.ne.jp/~kiyopon/

参考URL:http://www.katch.ne.jp/~kiyopon/
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
HP参考にします。

お礼日時:2002/02/23 05:15

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

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

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

Qアクセスがエクセルより優れている点

エクセルはある程度操作ができるようになりました。現在、アクセスを勉強していますがアクセスがエクセルより優れている点が今一つ実感できません。そこで、アクセス派の方に質問です。
「この点は、アクセスの方が絶対優れているよ。」という使用例がありましたら教えてください。使わないと忘れてしまいますし、どんどん利用していきたいものですからよろしくお願いします。

Aベストアンサー

Excel(に代表される表計算ソフト)とAccess(に代表されるデータベースソフト)の違いを一言で言うと,

「同一のものを同一のものとして識別できるかどうか」

ということになるかと思います。

 これだけじゃわかりにくいと思いますので,例を挙げてみます。

 例えば「職場連絡先一覧」という表と,「プロジェクト進行度管理」という表と,「プロジェクト予算管理」という表があったときに,「職場連絡先一覧」表に載っている山田太郎さんは,「プロジェクト進行管理」表のプロジェクトAとBの担当として記されている山田(太)さんと同じ人物である,あるいは「プロジェクト進行管理」表のプロジェクトAというのは「プロジェクト予算管理」表のproject-Aと同じものである,ということを,データベースソフトは意識することができるのです。

 ですから,例えば「プロジェクト予算管理」表からproject-Aを検索し,それを使って「プロジェクト進行管理」表から現在の担当者である山田(太)さんを検索し,さらにそれを使って「職場連絡先一覧」表から山田太郎さんの連絡先を(複数)取り出し,同時に「スケジュール管理」表から山田太郎さんが今日は出張であるという検索結果を得て,その結果プロジェクトAの現在の進行状況に対する問い合わせを山田太郎さんの携帯電話に対して行う,という様な処理を自動化できるようになるわけです。

 これが表計算ソフトだと,例えば「プロジェクト進行管理」表の山田(太)さんと「職場連絡先一覧」表の山田太郎さんが,同一人物なのか似た名前の別人なのかを,確実に弁別することは非常に困難です。

 もちろん,すごく手間をかければ表計算ソフトでも同様のことはできますが,上記のように複数の表を連携させる処理を行う場合,例えば同姓同名の人がいることを想定してプログラムを書かなければいけないなど,データベースソフトに比べるとどうしても処理が煩雑になります。

 また,なにをどれくらい同一のものとして扱うのかということも,データベースソフトでは細かく制御できます。例えば,「鉛筆」を単に「ボールペン」と区別できればいいのか,それとも「三菱の鉛筆」と「トンボの鉛筆」を区別したいのか,それとも「1月20日に納品された三菱の鉛筆」と「2月8日に納品された三菱の鉛筆」を区別したいのかに応じて,その識別の粒度を変えることも,データベースソフトなら可能になります。

 もちろん,こうしたデータベースの能力を活用するためには,十分注意を払ってデータベースを設計する必要があり,したがって事前の準備にかかるコストは表計算ソフトより大きくなります。

 ですから「同一のものを同一のものとして識別する」必要があるような,柔軟で複雑な処理を頻繁に行う場合はデータベースソフトを,単にあるデータを表として整理するだけのシンプルな用途には表計算ソフトを,というように使い分けるものではないかと思います。

Excel(に代表される表計算ソフト)とAccess(に代表されるデータベースソフト)の違いを一言で言うと,

「同一のものを同一のものとして識別できるかどうか」

ということになるかと思います。

 これだけじゃわかりにくいと思いますので,例を挙げてみます。

 例えば「職場連絡先一覧」という表と,「プロジェクト進行度管理」という表と,「プロジェクト予算管理」という表があったときに,「職場連絡先一覧」表に載っている山田太郎さんは,「プロジェクト進行管理」表のプロジェクトAとBの担当と...続きを読む

Qアクセスについて

ワード、エクセルは結構使えて、日商の3級検定はそれぞれもっているのですが、アクセスは一度も使ったことがありません。普通に生活をしていく上で、必要性はあるのでしょうか。全くわからないので詳しい方、わかり易く、ご説明よろしくお願いします。

Aベストアンサー

こんにちは。

普通に生活を、というのは、日常生活という意味ですか?
であれば必要ないと思いますよ。

Accessはデータベースのアプリケーションですので、大量のデータを格納、参照、処理するのに便利です。
Excelでも似たようなことができますが、より大量のデータを格納できますし、処理速度も速いです。
また、簡単なSQLでプログラムが書け、簡単な画面を作って、そこからデータを入力したり参照したり変更したりできます。
もっと複雑な計算などの処理もできます。

日常生活ではあまり必要ないですよね・・・
思いつくのは家計簿や住所録?くらいですかね。
でもExcelで足りますからね・・・

でも使えると結構面白いので、お時間があれば勉強してみてもいいかもしれません。
私は日常生活では使ったことがありませんが・・・

Qアクセスの使い道

例えば、小さな通信販売のお客さんの台帳を作る場合、アクセスというソフトだと何がよいのでしょうか?エクセルよりも使いやすいのでしょうか?
また、操作はガイドをみれば理解できますか?

Aベストアンサー

通信販売の業務について良く知りませんので、一般的な話として述べさせてもらいます。
単に名簿を管理する程度のことなら、エクセルでも検索や並べ替えの機能ぐらいは持っておりますし、マクロ(VBA)を活用すればそれなりの自動処理も可能ですので、十分対応できると思います。
ただし、エクセルではお客さんそれぞれの情報を単票として表示したり印刷したりするような使い方には向いていません。このような場合にはデータベースソフトが有用です。
ところで、一口にデータベースソフトと言ってもその中にはかなり簡単な処理しかできないもの(その分とっつきやすく、操作の習得も楽)から、アクセスのように相当の作り込みまでできるようなもの(その分ハードルが高い?)があります。単票処理だけが目的ならば、アクセスよりも(私は使ったことがないので、本当のところは良くわかりませんが)ファイルメーカーのようなカード型データベースの方が使いやすいと思います。場合によっては、たとえば年賀状の宛名ソフトなんかを活用しても、それなりのことはできるのではないでしょうか。
それでは、どんな場合にアクセス(のようなリレーショナルデータベース)が有用なのでしょうか。結論から申し上げますと、『複数のテーブル(表)を関連付けてデータベースを構築する』時に有用となります。
これだけではわかりにくいと思いますので、例をあげてみます。たとえば、お客さんの名前、住所、電話番号などの顧客情報の一覧表があり、別に注文ごとの顧客番号、受注日、商品番号などの受注一覧がある場合、アクセスならこれらの表を関連付けて、たとえばあるお客さんの過去の購入履歴を簡単に表示させたり、あるいは新たな注文がきた時に顧客番号を入力するだけで住所や電話番号が記入された発送伝票を印刷したりすることができます。(エクセルで同じ情報を管理しようとすると、表を一つにまとめることが必要ですので、注文ごとに顧客の名前、住所、電話番号などのデータも入れることになり、表が巨大になって、管理が非効率的です。)
また、品目とその在庫状況のテーブルと仕入元データのテーブルを用意してこれらを関連付ければ、(発送伝票の発行で在庫数を減ずるような細工をすることで)在庫がある数量以下になった時点で自動的に発注伝票を印刷するといったことも可能です。
さらにマクロやVBAを使えば、独自のアプリケーションを比較的容易に(とはいってもプログラミング未経験の人には多少敷居が高いか?)組むことができるのも魅力です。
さて、アクセス習得の難易度ですが、完璧に使いこなそうと思うと相当奥が深いといえます。一方で、とりあえず簡単なデータ管理ということでしたら、ひるむことはないと思います。
そうは言っても、これまでまったくデータベースソフトを使ったことがない方でしたら、データ操作のイメージをつかむために、とりあえず簡単な入門書を購入されることをオススメします。その後はオンラインヘルプ(これが基本)やk_ebaさんがご紹介されているようなサイト(探してみるとけっこうたくさんあります)を利用すれば、独学で十分習得可能だと思います。
アクセスはこの価格帯のデータベースソフトとしては特異的なぐらい高機能で、かなり複雑なアプリケーション開発が可能です。(一方でけっこうバグがあり、動作も多少不安定だったりもしますが、少なくともスタンドアロンで使う場合、十分実用的だと思います。)もしもリレーショナルデータベースが業務に有用と思われたなら、アクセスは個人レベルで使う場合、他に選択肢がないと言えるぐらいお勧めです。

通信販売の業務について良く知りませんので、一般的な話として述べさせてもらいます。
単に名簿を管理する程度のことなら、エクセルでも検索や並べ替えの機能ぐらいは持っておりますし、マクロ(VBA)を活用すればそれなりの自動処理も可能ですので、十分対応できると思います。
ただし、エクセルではお客さんそれぞれの情報を単票として表示したり印刷したりするような使い方には向いていません。このような場合にはデータベースソフトが有用です。
ところで、一口にデータベースソフトと言ってもその中にはかな...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QAccess or SQLServer どちらを使用しますか?

こんにちは。
みなさんならAccessかSQLServerの、どちらのDBを使うかご意見ください(出来ればメリットやデメリットなどもあるとうれしいです)

<環境>
サーバー:Win2000Server、Access2000または、SQLServer7.0
クライアント:Win2000 ×10台
開発環境:VB6.0(SP5)、Win2000

<やりたいこと&悩み>
1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする
2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない(Accessのサイズ上限を超えてしまう為)。分けた場合は、リンクテーブルが必要。データ数は、1ヶ月に3万件くらい
3)タイミングによっては、同時アクセスあり
4)AccessをDBとして試作品を作成したところ、ファイルをロックできませんでしたというエラーが1日1回程度でてしまう
5)SQLServerでは気軽(?)にユーザーがメンテナンスできない(Accessの知識は多少あり)

このような感じですが、みなさんならどちらを選択されますか?ご意見よろしくお願いします。

こんにちは。
みなさんならAccessかSQLServerの、どちらのDBを使うかご意見ください(出来ればメリットやデメリットなどもあるとうれしいです)

<環境>
サーバー:Win2000Server、Access2000または、SQLServer7.0
クライアント:Win2000 ×10台
開発環境:VB6.0(SP5)、Win2000

<やりたいこと&悩み>
1)複数のパソコンからDBのデータをSelect、Insert、Update、Deleteする
2)データが多いので、Accessの場合は3つくらいのmdbに分けないといけない(Accessのサイズ上限を超えてしまう為)。分け...続きを読む

Aベストアンサー

それだけの規模のクラサバシステムを構築するのであれば
SQLServerにしておくべきでしょう、というよりも
ACCESSでは危険が大きすぎます。

SQLServerと比較した場合のACCESSのデメリットとして

・データベース(mdbファイル)が破損する危険が大きい
・レコード件数が増えることによるレスポンスの低下が激しい
・ユーザー権限、アクセス権限などを管理する機能が乏しく
 マルチクライアントからの利用には向かない
・データベースの保守、管理機能が乏しく、 データベースの
 バックアップ等もmdbファイルそのものをコピーするぐらいしかない

などが挙げられます。

ACCESSのmdbは、マルチユーザー・マルチクライアントの
システムを管理できるほど高性能なデータベースではありません。
ACCESSで管理できるデータベースは、スタンドアロンや
もっと小規模なシステム(クライアント2~3台程度)ぐらいが限界でしょう。

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル 文字の先頭4文字だけを切り出す関数

ひとつのセルに「5125 ソーセージ」というように管理番号と品名を入力している物に対して、先頭の4文字だけ別のセルに切り出す関数を知りたいです。
エクセルのヘルプ機能で一通り調べてみたのですが、見つからず関数の上手な見つけ方もご教示いただければ幸いです。

Aベストアンサー

Left関数でどうでしょう?

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

Qエクセルで多数のシートをまとめる方法

エクセルで10以上あるシートを一発でひとつにまとめる方法はあるでしょうか?

コピー&ペーストを繰り返すしかないのでしょうか…

仕事で明日やらなければならないので、
お分かりになる方、是非教えてください!

Aベストアンサー

まぁ既出回答にもあるように,10数回程度コピー貼り付けすることで,どうという作業ではないとは思います。

さておき。
ご利用のエクセルのバージョンが不明ですが,ご利用のOfficeのバージョンによっては

1.ワードを起動する
2.挿入のファイルからエクセルブックを指定する
3.添付図のようなダイアログが表示されたらラッキー成功です,ブック全体を指定して挿入する
4.Ctrl+Aで全体を選び,コピーして,エクセルの新しいシートに貼り付ける

と一発でできます。
添付図のようにならなかったときは,出来ません。


人気Q&Aランキング