• ベストアンサー

エクセルの関数で顧客管理データーベース

エクセルの関数で顧客管理データーベース (画像添付あります) 顧客管理で、関数を使いたいのですが、 一時保管の A3と、B3は常に、違う値が入ります。 そこで、それを、データーベース化したいのですが、 例えば、 A3、B3の値を、E3、F3に移して、 また、A3,B3を消去し、新しい値を入力し、それを次に、E4、F4に移したいのですが、 どうしたらよいでしょうか。

  • atk18
  • お礼率13% (143/1041)

質問者が選んだベストアンサー

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

凄く単純なマクロだと、ボタンを作成して mRow = Range("E" & Rows.Count).End(xlUp).Row + 1 Range("E" & mRow).Value = Range("A3").Value Range("F" & mRow).Value = Range("B3").Value というのをそのボタンのマクロに登録すれば、ボタンを押したらデータが最終行(E列)に挿入されます。ただし、押した回数だけ挿入されていきます。 また、A3もしくはB3にデータを入力した後に即挿入することも出来ますが 間違ってエンターを押したときにもデータが挿入されますのでおすすめできません。 ところで、E行とF行に直接入力するのではダメなのでしょうか。

atk18
質問者

補足

できました!応用がいろいろ可能でしたので、助かりました。 回答していただいたみなさんもありがとうございます。 同じ作業が沢山あるので、自動が助かります!

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! すでに回答は色々出ていますので、 参考程度で目を通してみてください。 一つの案です。 ↓の画像のようにコマンドボタンを貼り付け、それをクリックするとマクロが実行される方法はどうでしょうか? まず、B3セルには =IF(A3="","",VLOOKUP(A3,Sheet2!A:B,2,0)) という数式を入れています。 そして、当方使用のExcel2003の場合ですが、 メニュー → 表示 → ツールバー → Visual Basic にチェックを入れ、 コントロールツールボックスから「コマンドボタン」を挿入します。 挿入したコマンドボタン上でダブルクリックし、白い画面に↓のコードを貼り付けてみてください。 Private Sub CommandButton1_Click() Cells(Rows.Count, 4).End(xlUp).Offset(1).Select Selection = Selection.Row - 2 With Selection .Offset(, 1) = Cells(3, 1) .Offset(, 2) = Cells(3, 2) End With End Sub (1行目と最後の行はすでに表示されているはずです) 画像のコマンドボタンはバックカラーとCaptionでコマンドボタンの見栄えを変えています。 これでコマンドボタンをクリックするたびにD~F列の最終行以下に表示されると思います。 以上、参考になればよいのですが・・・m(__)m

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

ボタンを作成して Sub TOUROKU() NAMAE = Range("A3") JYUSYO = Range("B3") GYOU = Cells(Rows.Count, 4).End(xlUp).Row + 1 If NAMAE <> "" Then Range("D" & GYOU) = GYOU - 2 Range("E" & GYOU) = NAMAE Range("F" & GYOU) = JYUSYO Range("A3:B3").ClearContents Range("A3").Select End If End Sub ボタンにマクロを登録 ボタンを押すと値が移るというのではダメでしょうか。 名前が入力されていれば値が移るようになっています。 (住所だけ移しても仕方ないと思いますので) 値が移った後にA3、B3は消去されます。 消去したくなければ Range("A3:B3").ClearContentsを消して下さい。

回答No.2

何の為に、そんなややこしい事をするのですか? E列及びF列に、直接データを入力すればすむ事ではないですか?

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

関数では無理です。 マクロ(VBA:Visual Basic for Application)を使わなければできません。

関連するQ&A

  • エクセルの関数を教えてください

    詳しくは添付データに画像を添付しました。 例えばA1~B6までデータベースを作り、 D2に管理NoのAと入力した場合、E2に合計個数ができるように設定したいのですが、 関数はどの関数を使えばよいですか。 基本知識はありますので、 応用できるようになるべく分かりやすくお願いします。

  • エクセルの関数について

    エクセルの関数について いつもご回答者の皆様方にはお世話になっております。 また一つ関数で実現したいことができたのですが、 添付画像のように同一シート内に形式が同じデータベースが複数あった場合に、 指定した条件のデータベースを参照し、値を返すような関数は可能でしょうか? B22セルで2010/1/1と指定した場合に、A2-B5のデータベースを参照し、さらにC22セルで指定してある「りんご」の個数を表示させるといった内容になります。 B22とC22の値を変えるだけで、それぞれのデータベースの指定した項目の個数を割り出したいのです。 識者の方々よろしくお願いいたします。m(_ _)m

  • 顧客データベースはどう管理していいますか?

    今度、インターネットで自社の商品を販売したいと思っているのですが、この際だからショッピングカートやログイン機能を設置して、顧客データベースを自動的に管理しようということになりました。 ここで質問です。 1.ログインの機能を付けるため、パスワードとログIDを顧客に設定してもらうわけですが、そのパスワードとログIDを決めるフォームに同時に顧客情報を登録してもらいたいのですが、その顧客情報を自動的にアクセスやエクセルにデータとして、書き込んでいくことは可能ですか? 3.他にはどのようなソフトで顧客管理をしていますか?それは、どういうソフトですか? 4.そのときにCGIやPealの知識はどのくらい必要ですか?素人でもそのシステムを構築できますか? 5.みなさんの会社では、顧客情報をどのように管理していますか?手で打ち込むのではなく、自動的に管理できるようになっていますか? わかりづらい質問でも申し訳ないのですが、大変困っています。どうかお力をお貸しください。

  • エクセル関数=IF(AND())で質問します。

     初めまして、よろしくお願いします。 エクセルで     A    B    C    D    E    F 1   1   10   5   3    4  2            ・ 3            ・ このような表にB1、C1、D1三つの値の内一つでもE1より2倍以上の値がある場合にA1の値を抜き出す関数をF1に入力したいのですが、関数式 =IF(AND((B1)>=E1*2),A1,"") までは解るのですが、B1のみではなく、B1からD1までの範囲をどのようにすればいいのか解りません。  解る方、よろしくお願いします。

  • エクセルのデータベース計算で困っています。どなたかお分かりの方ご教示下さい

    エクセルで 【データベース1】 コードA 100 101 【データベース2】 コードB 200 201 【データベース3】 値 301 302 の三つのデータベースから 【結果】 コードA  コードB 値 101 200 301 101 200 302 101 201 301 101 201 302 102 200 301 102 200 302 102 201 301 102 201 302 のような結果を作成することは可能でしょうか。 エクセルに詳しい方ぜひご教示下さい。 色々なエクセルのサイトを検索したのですが ついにわからず困ってまして…どうか宜しくお願いします! もし可能でしたらエクセル関数でお願いします。 (ご無理でしたらVBAでも大歓迎です)

  • エクセルでの関数の書き方

    セルA1からF1があります。 A1がC1かD1で同じでかつ B1がC1かD1で同じ場合に、 D1の値をF1にセットしたいのですが、 どのように書けばよろしいでしょうか? EX. A1が1でB1が2の場合は C1がD1が1,2または2,1の場合のみ E1の値をF1にセットします。 COBOLで書くとこんな感じになると思います IF (A1=C1 OR A1=D1) AND (B1=C1 OR B1=D1) THEN MOVE D1 TO F1 END-IF. IF関数かAND関数を使用するような気がしますが、 思いつきません。 よろしくお願いいたします。 エクセル2000です。

  • エクセル関数について

    エクセルでセルA1に1、B1に2・・・・・Iに、J1に10が入力された表があります。また、A2に1、B2に3、C2に5、D2に7が入力されています。A2からD2を検索してA3に1、C3に1、E3に1、G3に1を入力します。次に、A2からにD2に2,4,6,8、と入力して同様にB3、D3、F3、H3に1が入るようにしたいのです。 このとき、1,3,5,7の値と2,4,6,8、の値が消去されず。またA2からD2に再度異なる数を入力した場合3列の値に1が加算されるようにしたいのですが、教えてください。

  • 顧客管理に関して

    友人にクリーニング屋をやってる方がいるのですが… パソコンで顧客管理ができないか相談されましたが エクセルやデータベースソフトで顧客管理はできますか? クリーニング屋といっても引継ぎなので 顧客が持ってきたクリーニングを既に引き渡したかどうか あとは何を出してるか…1つ1つに番号を付けてるので そういった番号も記録しておくと便利だと思います。 ソフトを使った顧客管理についてアドバイスお願いします。 パソコン初心者なもので申し訳ないです。

  • エクセルでの顧客管理

    エクセル初心者です。顧客管理で2件こまっています。 (1)A列・・会社名、B列・・携帯番号、C列・・担当者名です。別の表にVLOOKUPによって検索したい会社名前を入れると携帯番号と担当者が表示されるようになっています。しかし、同じ会社に複数の担当者がおり複数担当者がいる場合は使えません、同会社の全員の携帯番号と担当者名が出てくるような関数もしくは方法はありませんか?会社ではアクセスが使える環境ではありません。なんとかエクセルのみで乗り切るのは難しいでしょうか? (2)(A)のワークシートにA列顧客名 B列住所 C列担当者名(3人)のデータがあります。このデータを担当者別にそれぞれの担当者のワークシートに反映させたいのです。追加の顧客は(A)で入力しそれが各担当者別のワークシートに反映される方法はありませんか?

  • エクセルVBAで関数が入った空白セルの取得

    エクセルVBAで下記のようなセルの参照をしたいのですが、よろしくお願いします。(エクセル2002です)   A  B  C  D  E  F 1 78 80 セル(A1)(B1)には値も関数も入れられています。 セル(C1)(D1)(E1)には値は入っていませんが、ワークシート関数が組み込まれており空白となっています。(関数の""にて空白) セル(F1)には何も入力されていません。 今回はセル(B1)の80の値を取得できるようにVBAで下記のようにコードを組みました。 Range("F1").End(elToLeft).Activate そうすると、セル(E1)に関数があるために(?)(E1)がアクティブな状態となります。 関数が入力されていても空白として(B1)をアクティブな状態にするために良い方法はありますでしょうか? 誠に申し訳ございませんが、よろしくお願いします。

専門家に質問してみよう