0

ExcelまたはAccessを使用してマージされたデータセットを作成しようとしていますが、うまくいきません。2つのExcelテーブルがあり、どちらにもリンクできるIDが含まれています。ただし、TABLE1にはIDごとに1つの行しかなく、TABLE2にはIDごとに複数の行を含めることができます。TABLE1のすべてのエントリを保持し、倍数をコンマで区切ってTABLE2の値を追加したいと思います。例:

 **TABLE1**
    CNid    start   stop
    0001    1        50
    0002    60      100
    0003    1        20

 **TABLE2**
    CNid    gene
    0001    abc
    0001    ijk
    0001    qrs
    0003    abc

 **TABLE3(Created)**
    CNid    start   stop    gene
    0001    1        50      abc,ijk,qrs
    0002    60      100 
    0003    1        20      abc

私はAccessのマージクエリに精通していますが、結果のテーブルにCNidごとに1行だけを含める方法を理解できません。

4

1 に答える 1

0

私は Excel 2007 を使用していますが、これは Excel 2003 でも機能すると思いますが、念のため手順を分けておきます。

  1. CNid行ラベル、gene列ラベル、Σ値の遺伝子カウントを使用 して、Table2 からピボットテーブルを作成します。

  2. 例としてレイアウトを使用すると、L8 に次のように配置されます。

    =IF(F8=1,F$7,"")

スーツに合わせて横にコピーし、L8 をどこにでもコピーします。

SO13362680 の例

  1. I8 に次のように入力します。

    =L8&","&M8&","&N8&","&O8&","&P8

必要に応じて拡張し、それに合わせてコピーします。

  1. ColumnI をコピーし、特殊な値を ColumnJ に貼り付けます。

  2. ColumnJ を選択,,し、何も置き換えません。

  3. K8 に次のように入力します。

    =IF(RIGHT(J8,1)=",",LEFT(J8)-1,J8)

合わせてコピーします。

  1. これがD12geneにあるとします。

  2. geneArrayWorkbook スコープで ColumnsE:K という名前を付けます。

  3. D13 に次のように入力します。

    =IF(ISERROR(VLOOKUP(A13,geneArray,7,0)),"",VLOOKUP(A13,geneArray,7,0))

合わせてコピーします。

  1. ColumnD をコピーし、特別な値を上に貼り付けます。

  2. 不要になったものを削除します。

于 2013-08-21T00:01:44.997 に答える