4

私のスプレッドシートでは、ヘッドホンを比較しています。基本的には、できるだけ多くの異なる数式を使用するように指示されています。

そのため、スプレッドシートの一部として、メーカーごとに最も高価なヘッドフォン、メーカーごとに最も安価なヘッドフォン、メーカーごとに最高の評価などを表示できるようにしたいと思います...これまでのところ、ほとんど機能するいくつかの配列式を取得できました。

たとえば、次の式はメーカー「ゼンハイザー」のモデルを最高価格で取得するために機能します。

=INDEX($Data.$B$5:$L$32,SMALL(IF($Data.$E$5:$E$32 = $Sheet2.D17, ROW($Data.$B$5:$E$32) - ROW($Data.$B$5) + 1, ROW($Data.$E$32) + 1), 1), 2)

列 E は価格列で、D17 は事前に計算された「ゼンハイザー」の最大価格です。

同じ価格/評価などの2つのヘッドフォンを入手するまで、これは問題なく機能します. その後、間違った値を返し始めます。

だから私はインターウェブで見つけたさまざまな解決策を試しました。

AND(condition1, condition2) 
condition1 * AND(cndition2)
condition1 * condition2

しかし、これは何らかの理由で配列数式では機能しないようです。#N/A または #VALUE およびその他のさまざまなエラーが発生します。基本的に、最低価格と正しいメーカーを確認するために、私の式、またはまったく新しい式を変更する方法を知りたい.

私の質問が明確であることを願っているので、私が話していることを理解するためにスプレッドシートをアップロードしました。

http://dl.dropbox.com/u/18816338/Stats%20Analysis%20%20%281%29.xlsm

前もって感謝します

4

2 に答える 2

20

簡単な式を使用することもできます。

=if( (条件 A) * (条件 B) * ... ; true; false)

条件は必ず括弧で囲んでください。

于 2012-12-18T16:21:24.940 に答える
7

通常、AND は配列ではなく単一の結果を返すため、ここでは機能しません。ただし、* は問題ないはずです。つまり、B3 でこの式を試してください。

=INDEX(Data!C$5:C$32,MATCH(1,(Data!$E$5:$E$32=$D3)*(Data!$B$5:$B$32=$A3),0))

CTRL+SHIFT+ENTER で確認し、C3 にコピーしてから、両方の列を下に移動します

価格とメーカーの両方の最初の一致を見つけ、関連するモデル/タイプを返します

于 2012-05-10T19:36:02.460 に答える