2 Eşleşme Dizi Formülünün Dizi Kesişimini Bulun


0

Dizi formülünü kullanarak iki eşleşme fonksiyonunun kesişimini nasıl bulurum (CTR + ÜST KRKT + ENTER tuşlarına basarak).

Şu anda bu dizi formülünü kullanmayı deniyorum ancak sonuç alamıyorum.

{=MATCH(B2,Sheet2!$A$2:$A$5) MATCH(C2,Sheet2!$B$2:$B$5)}

Örneğin, Sayfa2'deki veriler aşağıdakine benzer.

     A          B          C
1    Code       Type       Value
2    ID1        DIRECT     100
3    ID1        INDIRECT   130
4    ID2        DIRECT     200
5    ID2        INDIRECT   110

Sayfa1'deki verilerim aşağıdaki gibi görünüyor.

     A          B          C
1    Date       Code       Type     
2    3/1/2013   ID2        INDIRECT     

Yukarıdaki dizi formülünü kullanarak 2 dizinin (satır numaralarının) kesişimini almayı bekliyorum:

= {4,5} {3,5}
= {5}

Bu fonksiyona yukarıda yazıldığı gibi girebildiğinizden emin misiniz?
Peter L.

Merhaba Peter, bunu yapamam. Ama benim sağduyum, boşluk aralığın kesişimi için işleç olduğundan, daha sonra "dizi formülü" işlevine başvurmaya çalışıyorum.
Dino

Şimdi kesişme ile ne demek istediğinizi anlamıyorum. Ve since space is operator for intersection of rangeaynı zamanda benim için bir keşif)
Peter L.

Burada Ax= Bx= B2, nerede x bir satır numarası olduğu örnekleri mi arıyorsunuz ? Ve ne geri dönmek istiyorsun? Satır numarası? Değer?
Excellll

Evet, boşluk kesişim operatörüdür ...... ama bu iki aralığın kesişimini sağlar - MATCH işlevi bir sayı döndürür (veya hata) - Bunların kesişimini nasıl elde edeceğinizi göremiyorum ..... .
barry houdini

Yanıtlar:


1

Bu formülü deneyin (dizi formülü olarak girildi):

= MATCH (B2 C2 Sayfa2 $ A $ 2: $ A $ 5 ve Sheet2 $ B 2 $: $ B $ 5,0)

Harika çalışıyor Peter. Bunu asla düşünmedim. Thanks :)
Dino

0

Eşleşmeler için satır numaraları ve eşleşmeyenler için yapay bir değer içeren bir dizi alabilirim. Dizi girişi ile:

=IF($A$2:$A$5=D2,IF($B$2:$B$5=E2,ROW($A$2:$A$5),2000000),2000000)

Eşleşmeleri tek tek hücrelerde de alabilirim, ancak bir hücrede bir dizide olamaz. Dizi girişi ile (satır 2'de) ve sahte bir değere ulaşana kadar doldurun:

=SMALL(IF($A$2:$A$5=D2,IF($B$2:$B$5=E2,ROW($A$2:$A$5),2000000),2000000),ROW()-1)

Diziyi yalnızca eşleşme boyutuna daraltmak için (oldukça basit) bir VBA işlevine ihtiyacınız olacağına inanıyorum.


0

Eğer sadece bir maç beklerseniz, Peter'ın önerisi istediğinizi yapmalıdır. Eğer öyleyse, Excellll'in çözümünü sadece eşleşen satır numaralarını içeren bir dizi elde etmek için uzatabilirsiniz, örneğin 2 ve 5 numaralı satırlar her iki sütunda da eşleşirse bu formül {2; 5} döndürür

=SMALL(IF(($A$2:$A$5=D2)*($B$2:$B$5=E2),ROW($A$2:$A$5)),ROW(INDIRECT("1:"&SUM(($A$2:$A$5=D2)*($B$2:$B$5=E2)))))

ile onaylandı CTRL+SHIFT+ENTER

Not: Bu, farklı bir sonuca giden yolda atılan bir adımsa, bu en iyi yöntem olmayabilir.


Merhaba Barry, evet 1 dönüş değeri bekleniyor. Ancak, benzersiz olmayan referans çiftlerim varsa bu çözüm genişletilebilir. Buna oy vermek istiyorum, ancak itibarım 15'in altında olduğu için bunu yapamam :(
Dino
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.