質問: 基準が満たされている場合にのみ、列の次のセルに自動的に移動します。そうでない場合は、次の行の基準を確認して、同じことを続けます。 シート1-私は3つの列(名、姓、ステータス)を持っていますシート2-ステータス列のステータスが「responded」の場合、a列の最初のセルに名のみを入力し、次の行で同じ数式を自動的に実行します。基準が満たされていない場合、数式はステータス列の残りの部分をチェックし、次のステータス「responded」をチェックしてから、行2などにそれらの詳細を入力する必要があります。私に知らせない場合でも、私が必要なものを説明したことを願っています。 よろしくagありがとうございます
回答: ジャスティンの反応とよく似ていますが、シート1 2つのテーブル、 実際のソースデータを含むsourcetbl 「一意の」ステータス値を含むstatustbl データセットを選択して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)からの対応するデータがキャプチャされます。 お役に立てれば。