電子書籍の厳選無料作品が豊富!

再度掲載させていただきます。

Excelでポイントの管理表を作成したいです。
個人ごとにシートを作成し、発行者のシートでポイントを入力すると自動的に受領者のシートにポイントが反映され、蓄積されていく仕様にしたいのですが、それに適した関数またはマクロはありますでしょうか?
希望の仕様としては1枚のシートに発行欄と受領欄があり、Aさんのシートの発行欄でBさんに1ポイントの入力をするとBさんのシートの受領欄にAさんから1ポイント入ったということが分かるようにしたいです。(それを5人分)シートのテンプレートは全て同じです。

「再度掲載させていただきます。 Excel」の質問画像

質問者からの補足コメント

  • 説明不足で申し訳ありません。不明点につきまして補足いたします。

    1. →行数は固定です。

    2.→8月20日というのはサンプルで入れたため、意味はありません。月毎にポイント発行を行うため、本来であれば8月の欄に入力しなくてはなりません。

    3.→日付はポイントを発行した日付を入力します。

    4.→はい、その通りです。

    5.→マクロの実行する方法をご教授いただきたく存じます。

      補足日時:2023/08/23 10:22

A 回答 (4件)

こんにちは



各シートから、自分の名前のあるデータだけを抽出すれば良いものと解釈しました。

自分の名前(=抽出する文字列)は、A1セルに記入されているものと仮定しました。
また、ご提示の図では行番号が不明ですが、表示されている上から順に1行目で、データ部分は4~12行目と解釈しました。

スピル機能を使える環境であるとしてよいのなら・・
各シートのシート名が、A、B、C、D、E であるものとして、それぞれのシートのJ4セルに以下の式を入力することで、該当するデータが抽出されます。

=FILTER(VSTACK(A!C4:E12,B!C4:E12,C!C4:E12,D!C4:E12,E!C4:E12),VSTACK(A!C4:C12,B!C4:C12,C!C4:C12,D!C4:C12,E!C4:C12)=A1,"")


※ シート名は半角英文字と仮定しています。
※ A1セルの名前は、実際のデータと完全一致するものと仮定しています。
    • good
    • 1

以下のマクロを標準モジュールに登録してください。


発行者のシートでポイントの入力が完了した後、マクロを実行すると、結果が受領者のシートに反映されます。

このサイトにマクロを投稿するとエラーになってしまうので、下記URLにアップしました。
https://ideone.com/vvm82J


使用上の注意
①A,B,C,D,Eさんの名前を変える場合は、
names = Array("A", "B", "C", "D", "E")
を変えてください。
②合計行を変える場合は
Const Grow As Long = 13 '合計行
を変えてください。
    • good
    • 1

不明点です。


1.合計の行が13行目になっていますが、常に13行固定でしょうか。
13行固定の場合、データが入力可能な行は1シートあたり最大9件です。

2.提示された例をみると1月の日付が8月20日になっていますが、どういうことでしょうか。
発行ポイントB列の月とD列の日付は無関係なのでしょうか。無関係だとすると、1月の意味は、どのような意味なのでしょうか。

3.D列の日付は、ポイントを入力した日付でしょうか。

4.例ではAさんがポイントを発行していますが、B,C,D,Eさんもポイントを発行するということでしょうか。

5.本件は関数での実現は不可能かと思われます。(可能かもしれませんが、少なくとも私には無理)
マクロでの実現の場合、
「発行者のシートでポイントを入力すると自動的に受領者のシートにポイントが反映され」ということですが、
ポイントを入力すると、直ちに、自動的に受領者のシートにポイントを反映するのは、無理があります。
(その場合、シートイベントを拾って行うが、入力データの削除、変更に対応できない)
従って、発行者のシートでポイントの入力が完了した後、マクロをあなたが実行すると、結果が受領者のシートに反映される
仕組みとなります。そのような方法でも良ければ、提供可能です。
    • good
    • 1

単純にL4に「=E4」とすればいいのでは?

    • good
    • 0

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