Excelで用語を検索し、配列内の対応する用語を返す


1

スプレッドシートには5列と600行があります。 1列目(例として)には9種類のウイルスがあります。他の4つの列は、それぞれのタイプの特性です。

したがって、「ウイルス1」は1のhと1のnと1.5のRを持ち、6週目に見られました

そしてこれはウイルス '1から9が混在した状態で600行続きます。

別のワークシートで、Virus 3のすべてのデータを取り出したいのですが、1列目の "Virus 3"でスプレッドシート全体を検索し、それ以外の4つの値を返す必要があります。

単純なカットアンドペーストプロセスがありますが、これは生きた文書でなければならないので、私はできません。毎週新しいデータが入り混じってくるので、私の手下達にその新しいデータを切り取ってマスターシートに貼り付けてもらい、それから私が作成した他の9つのスプレッドシートとトレンドラインを見てください。開発しました。


たとえば、ウイルス1が複数の行にあり、すべて抽出する必要がありますか。
yass

@yass Virus 1は、1列目で(たとえば)70回発生します。1列目では、6、15、16、22、106などの行に見つかりました。 「ウイルス1」に対応し、そのデータを別のワークシートの70行(4列)に設定します。
NOC

回答:


0

新しいシートで次の式を使用し、列Aにウイルス名を書き込みます(列1全体のウイルス1予想以上に空の行を後で削除できます)。

=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,2),"")  

あなたが押す必要があります Ctrl + シフト + 入る 同時に各数式をクリックし、同じ列にドラッグします。

最後の2は、データがあるSheet1の2列目を表します。
A2:最初のシート(5列と600行)のE600全データは必要に応じてそれを変更します
A2:A600 1列目
見つかった場合はウイルスの行を返し、見つからなかった場合は0を返します。
一致しない行の数を数える
Smallは0なしで最小の対応する行を見つけます
行をドラッグしたときに移動するインデックスの最小のn行目を表示する行(A2)
インデックスは、ウイルスの同じ行と上記の式の列2に値を返します。

For column 3 use:  


=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,3),"")

For column 4 use:  


=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,4),"") 



For column 5 use:   


=IFERROR(INDEX(Sheet1!$A$2:$E$600,SMALL(IF(Sheet1!$A$2:$A$600=A2,ROW($A$2:$A$600),0),COUNTIF(Sheet1!$A$2:$A$600,"<>"&A2)+ROW(A2)-1)-1,5),"")

コピーが完了したら、新しいデータがあったときに変更されないように、すべてのデータに特別な値を別の場所に貼り付けます。


うわー..わかりました。今日の午後に実行して、うまくいくかどうか確認します。とても有難い
NOC
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.