2017-08-24 8 views
0

これを行う方法を探していて、壁に当たっているような気がします。 。 。私はVBAで新しくなっているので、これは正しい方法ではないかもしれません。VBA Excel 3カラムをArraryに変換する

私はこのようになりますテーブルがあります。

Data

を私はそれがこのように見える必要があります。

Result

クライアントは、様々な目的のためにこのデータを使用する必要があります。彼らはPivot Tableを試しましたが、彼らはそれがどのように見えて、彼らのエンドユーザもそれを気に入らなかったのです。彼らはまた、それが最終的なフォーマットになった後、データに多くの調整を行います。

名前と質問を正しいレイアウトで新しいシートにコピー/貼り付けすることができました。私はその後、For Eachループを実行して名前をフィルタリングし、この新しいシートに回答をコピー/貼り付け/転記しようとしていました。質問と名前の数が常に変わるので、私はこの方法を使いました。

私が見ているコードはわかりません。オンラインで見つかった古い例を私のケースに合わせてどのように操作できるかわかりません。

提案がありますか?それとも、私が逃したことをしようとしているものにかなり近い何かをしている別の投稿がありますか?

ありがとうございました!

+0

サンプルデータが簡素化されていると確信していますが、事前にいくつの質問があるのか​​分かりますか?いくつの名前があるのですか? – Jeeped

+1

あなたが記述した問題は、一般的な「クロス集計」カテゴリに属しています。ピボット・テーブルは、仕事のための適切なツールです。 –

答えて

0

名前がソートされていて、すべての名前に同じ質問があるので、簡単な「二重一致-1」を実行して答えをワークシートの式として取得できます。 (シート1のリスト1およびシート2のリスト2を有する)

=INDEX(sheet1!$C:$C,MATCH(B$1,INDEX(sheet1!$B:$B,MATCH($A2,sheet1!$A:$A,0)):sheet1!$B$99999,0)+MATCH($A2,sheet1!$A:$A,0)-1) 

B2のフォーミュラ。右と下を埋める。

数式を必要としない場合は、シートとコピー/貼り付け値をVBAを介して別のシートにのみ非表示にします。

enter image description here

名前は動作しますが、「ABAB」または「BAAB」しません完全な順序ではなく、一緒に「AABB」と「bbaa」である必要はありません。質問は順不同である必要はありませんが、誰かに「q1」を持たないと、別の名前で見つかった次の「q1」が与えられます。

+0

こんにちはダーク!お手伝いありがとう!私は#VALUEを得ています!エラー、しかし、私は理由を知らない。 。 。私はシート1に元の列データを持ち、シート2に "きれいな"マトリックスを持っています:sheet1!B99999とは何ですか?多分私はそこからそれを理解することができます。 –

+0

Indexは参照を返し、 'A1:INDEX(A:A、5)'のようなことをして、 'A1:A5'の範囲を得ることができると言いました。これは正しい名前で検索を開始するために使用されます。そこで、 'INDEX(range、MATCH())'を実行して正しい名前の最初の行を取得します。私たちが6を得るために "b"の検索をしたとしましょう。質問のマッチはそこから始める必要がありますが、終わりを得るために(私たちは見る範囲があります)追加します。この場合、 ':sheet1!$ B $ 99999,0)'となります。見るべき範囲は ':sheet1!$ 6:$ B $ 99999'です。 (私は英語のウィンドウズクライアントと私の写真を更新する...ほんの数分) –

1

あなたは単にPower Pivotでこれを行うことができます(無料のMSアドインを2010年から2013年2016年(別名Data --> Get & Transformに)

単に一

  • ピボットにQuestions列を選択する()新しい列を作成します
  • 値]列 - >Answers
    • 詳細オプションDo not aggregate

enter image description here

これが掲載され、あなたのデータを使用した結果である:

enter image description here

私が作った唯一の書式変更は表オプション]で[フィルタ]ボタンをオフにすることでした。

+0

こんにちは!この方法は、私がする必要があるものには完璧です。私は "集約しないでください"オプションを見つけていません。 Power Pivotでピボットテーブルを作成すると、クライアントが元々見ていたように見えます。 「はい」と言ったり、「いいえ」と答える代わりに、はい/いいえの回答の数を数えています。 –

+0

@ZAbrami Pivot Column Dialogの 'Advanced Options'をクリックしましたか?スクリーンショットを追加しました。 –

+0

ああ!わかった!これは完璧です!!!どうもありがとうございます! –

関連する問題