2017-09-27 6 views
0

私はクライアントに配布する認可マトリクスの作成に取り組んでいます。 My Excelブックには、アプリケーションとアクセス許可/ロールという2つのテーブルが含まれています。2つのテーブルの2つの列に基づいて行列を生成するにはどうすればよいですか?

私は各テーブルの最初の列を取得し、必要なアプリケーション/ロールの組み合わせをクライアントがマークできる別のワークシート上にX、Yマトリックスを動的に生成したいと考えています。

これまでのところ、ピボットテーブルを試しましたが、編集できません。これは外部のクライアントに提供されるので、私はマクロから離れていたいと思います。

Role 1 | Role 2 | Role 3 | Role 4 | ... | Role n | 
App 1 |  |  |  |  |  | 
App 2 |  |  |  |  |  | 
App 3 |  |  |  |  |  | 
App 4 |  |  |  |  |  | 
... |  |  |  |  |  | 
App n |  |  |  |  |  | 

任意のアイデア:

最後に

が、私は次のようになり、動的に生成された行列を取得したいのですが?

+0

外部のブックからマクロを実行して、いつでもテーブルを作成できます。 – dwirony

+0

結果はどうしますか?いくつかのシステム構成を駆動するためにクライアントが入力するものを使用する予定の場合は、構成ツール自体を指すのが理にかなっているかもしれません。そうしないと、変更を永久に再入力します。 – n8wrl

+0

この結果は、私の出発点であり、それらのためのドキュメントの継続的な形式を使用して、ツールを作成し、ツールとは別に独自のプロセスを監査することになります。 – Griven

答えて

0

以下の画像をお探しの場合は、以下の方法を使用して、クライアントに送信するシートの値としてコピーして貼り付けることができます。あなたが手動でアプリのユニークなリストを作成する必要が

Pivot View

各アプリケーションの次には、関連する役割を抽出するための配列式がいくつかあります。

=IFERROR(INDEX($B$3:$C$14,SMALL(IF(($B$3:$B$14=$C17),ROW($B$3:$C$14)-2),ROW($1:$1)),2),"")

あなたのデータは、Excelの表にあるならば、式が作成し、読みやすいです。

=IFERROR(INDEX(Table1,SMALL(IF((Table1[App Name]=$C16),ROW(Table1)-2),ROW($1:$1)),2),"")

あなたは + 式を提出するを入力しはCtrl +Shiftキーを使用する必要があるので、これは配列数式です。

数式は自動的に塗りつぶされますが、各役割の下で同じ値が得られます。ロール2の下でROW($1:$1)ROW($2:$2)に、ロール3の下でROW($3:$3)に変更する必要があります。覚えているCtrl + シフト + 変更するたびにを入力します。

次に入力すると、リスト内の各アプリケーションのすべての役割が入力されます。

コピーをテンプレートとして保存し、値をコピーして貼り付けて、恐ろしい数式をすべて削除してから、クライアントに送ります。

関連する問題