0

しばらくの間、これに対する答えを探しましたが、運がありませんでした。言葉にするのが少し難しいので、不明な点があれば教えてください。

私が欲しいのは、2 つの列に対して条件ステートメントを実行する方法です。両方の条件が真の場合、これらの条件が満たされた行と同じ行にある 3 番目の列から値を返したいと考えています。したがって、D5 と C5 で条件が true の場合、Q5 の値を数式でセルに返したいと思います。条件ステートメントは十分に簡単ですが、最後のステップはまだわかりません。

次の数式を使用すると、数式を含むセルに 1 が表示されます。これは正しいです。

=IF(AND('Stata Output'!D2:D6='Backcheck schedule and results'!C2, 'Stata Output'!C2:C6=1),1,0)

ただし、数式の 1 を値を取得するセルの範囲に置き換えると、毎回ゼロになりますが、これは間違っていることがわかっています。この後者の式では、次を使用しています。

=IF(AND('Stata Output'!D2:D6='Backcheck schedule and results'!C2, 'Stata Output'!C2:C6=1),'Stata Output'!Q2:Q5,0)

私がめちゃくちゃになっている場所についてのアイデアはありますか?ありがとう!

4

3 に答える 3

1

これを試してみてください - もっと簡単な方法があると確信していますが、それでうまくいくようです ( を使用して配列数式として入力してControl+Shift+Enterください):

=INDEX('Stata Output'!$D$2:$Q$6,MATCH(1,(--('Stata Output'!$C$2:$C$6=1)*--('Stata Output'!$D$2:$D$6="Backcheck schedule and results")),0),14)

これが行うことは、テーブル全体を範囲として取得することです( への最初の引数INDEX、次に を使用MATCHして、両方の条件が満たされる行を見つけます(この場合、列Cは である必要が1あり、列の対応する値は であるD必要がありますBackcheck schedule and results)。次に、検索します1 の結果の配列 (一致を示す) と戻り列14(表の列を表す)必要に応じて関数Q内にフィルターを追加し続けることができます。MATCH()

これは最初の「ヒット」のみに一致することに注意してください。

于 2012-10-10T14:33:31.300 に答える
0

AND配列数式では正しく機能していないように見えるので、これを使用します。

=IF(('Stata Output'!D2:D6='Backcheck schedule and results'!C2)*('Stata Output'!C2:C6=1)=1,'Stata Output'!Q2:Q5,0)

Q2:Q6これにより、一致するすべての行の列から入力される新しい結果列が得られます。

それを使用するには、すべての結果列を選択し、数式を入力してから使用する必要がありますCTRL+SHIFT+ENTER

同じサイズの使用範囲を使用するようにしてください。

于 2012-10-10T15:14:16.490 に答える
0

次の式を試してください。

=LOOKUP(2,1/('Stata Output'!D2:D6='Backcheck schedule and results'!C2)/('Stata Output'!C2:C6=1),'Stata Output'!Q2:Q5)

両方の条件が満たされる行が複数ある場合、この式はそれらの最後Qの列から col 値を返します。

于 2012-10-10T14:33:09.723 に答える