シート1-私は3つの列(名、姓、ステータス)を持っています
シート2-ステータス列のステータスが「RESPONDED」の場合、A列の最初のセルに名のみを入力し、次の行で同じ数式を自動的に実行します。
基準が満たされていない場合、数式はステータス列の残りの部分をチェックし、次のステータス「RESPONDED」をチェックしてから、行2などにそれらの詳細を入力する必要があります。
私に知らせない場合でも、私が必要なものを説明したことを願っています。
よろしくAGありがとうございます
列がsheet1
のA、B、およびCであり、出力がsheet2
の行2から始まると仮定します。
名を返すには:
=IFERROR(INDEX(Sheet1!$A$2:$A$23,SMALL(IF("Responded"=Sheet1!$C$2:$C$23,ROW(Sheet1!$A$2:$A$23),""),ROW()-1)-1,1),"")
姓を返すには:
=IFERROR(INDEX(Sheet1!$B$2:$B$23,SMALL(IF("Responded"=Sheet1!$C$2:$C$23,ROW(Sheet1!$A$2:$A$23),""),ROW()-1)-1,1),"")
応答を返すには:
=IFERROR(INDEX(Sheet1!$C$2:$C$23,SMALL(IF("Responded"=Sheet1!$C$2:$C$23,ROW(Sheet1!$A$2:$A$23),""),ROW()-1)-1,1),"")
数式をドラッグダウンします。
必要に応じてセル参照を変更できます。
2
から23
は、私が見ていたサンプルデータをカバーしています。ジャスティンの反応とよく似ていますが、
シート1
2つのテーブル、
データセットを選択してCtrl + T
を押すと、テーブルを作成できます。他にヘッダーがある場合は、[テーブルにヘッダーがあります]チェックボックスをオンにします。Excelによって自動的に作成され、名前を変更できます。
テーブル名は、[テーブルツール]リボン-> [デザイン]タブで変更できます(テーブル内の少なくとも1つのセルを選択する必要があります)。
シート2
まず、SourceTblと同様のテーブル構造を作成しますが、テーブル内のセルは空のままにします。
セルF4には、Sheet1のStatusTblエントリを示すデータ検証ドロップダウンリストがあります。このセルには「myStatus」というカスタム名が付けられています
セルA5は、次の配列数式を保持します。
=IFERROR(INDEX(SourceTbl[First Name],SMALL(IF(SourceTbl[Status]=myStatus,ROW(SourceTbl[Status])-ROW(INDEX(SourceTbl[Status],1,1))+1),ROW($A1))),"")
コピーして貼り付け、Ctrl + Shift + Enter
を押します
セルB5:
=IFERROR(INDEX(SourceTbl[Last Name],SMALL(IF(SourceTbl[Status]=myStatus,ROW(SourceTbl[Status])-ROW(INDEX(SourceTbl[Status],1,1))+1),ROW($A1))),"")
コピーして貼り付け、Ctrl + Shift + Enter
を押します
セルC5:
=IFERROR(INDEX(SourceTbl[Status],SMALL(IF(SourceTbl[Status]=myStatus,ROW(SourceTbl[Status])-ROW(INDEX(SourceTbl[Status],1,1))+1),ROW($A1))),"")
コピーして貼り付け、Ctrl + Shift + Enter
を押します
注:
Sheet2のテーブルを展開すると、欠落している行を取得できます(テーブルでは、デフォルトで「計算列」機能が有効になっており、各列の数式が自動的にコピーされます)。
Sheet2のテーブルに空白行がある場合、一致するすべてのデータを取得したことを意味します。取得するデータがない場合、数式は空の文字列を表示するように設定されます。
必要に応じて、ドロップダウンリストからセルF4の「myStatus」値を変更できます。 SourceTbl(Sheet1)からの対応するデータがキャプチャされます。
お役に立てれば。