web-dev-qa-db-ja.com

2番目のシートの列Aの列IS NOT EQUALの列QUERY

対応する行のCが番号14に一致し、Aには別のシートの列Aのセルの正確なテキスト一致がない列Fから最大値を取得します。

私は自分が望むことをするために間違った式を使用しているかもしれないと感じています。

=QUERY('6 Star Gear Sets (Hidden)'!A6:F, "select F where C = 14 AND A != 'Unique Gear (Hidden)'!A6:A order by F desc limit 1")

PARSE_ERRORが発生しています

これが、私が作業しているGoogleドキュメントのコピーへのリンクです。

https://docs.google.com/spreadsheets/d/15tpl56RTrGGW3lQ3DVXHjpLhG_vbUPZskcUf-h0YuCE/edit?usp=drivesdk

4
Melly Lilly

Queryは、同じレコード(行)を持つフィールドの比較に最適ですが、必要な種類のルックアップを簡単に実行できません。長いクエリ文字列where A <> 'this' and A <> 'that'...を別の式で加工することは可能ですが、これは楽しい練習ではありません。

一方、filterはここでは非常に使いやすいです。

=filter(F:F, C:C=14, isna(match(A:A, Sheet2!A:A, 0)))

cの値が14で、Aの値がSheet2の列Aのいずれにも一致しないFのすべてのエントリを検索します。値が見つからない場合、関数matchは#N/Aを返します。 isnaが探します。

次に、それらの最大値を取得するだけの問題です。

=max(filter(F:F, C:C=14, isna(match(A:A, Sheet2!A:A, 0))))
4
user135384