Excel 2010'da bir sendika operatörü olup olmadığını bilen var mı?
denedim ;
ve ,
, ikisi de işe yaramadı. Örneğin, =E2:E3;E4:E6
, =E2:E3,E4:E6
, {=E2:E3;E4:E6}
ve {=E2:E3,E4:E6}
her zaman bir hata döndür.
Excel 2010'da bir sendika operatörü olup olmadığını bilen var mı?
denedim ;
ve ,
, ikisi de işe yaramadı. Örneğin, =E2:E3;E4:E6
, =E2:E3,E4:E6
, {=E2:E3;E4:E6}
ve {=E2:E3,E4:E6}
her zaman bir hata döndür.
Yanıtlar:
Excel 'union' operatörü her zaman olmuştur virgül* (Örneğin. A1:A9,F2:G4
) kesişen işleci tek bir boşluk iken. Çalışmıyor, sadece tüm Excel fonksiyonları bu referans yöntemini kabul edemiyor.
İşte bazıları:
SUM()
COUNT()
COUNTA()
SMALL()
LARGE()
MIN()
MAX()
AVERAGE()
Ancak, bunu düşündüğünüzde ,
tam olarak matematiksel yapmaz Birlik , ancak daha fazla ekleme ayarlayın. Örneğin, =COUNT(A1,A1,A1)
döner 3
. Gerçekten bir sendika operatörü olsaydı, bu formül geri dönecekti 1
.
** Bazı Euro sürümleri noktalı virgül kullanır ( ;
) bunun yerine, bilgisayarın bölgesel ayarlarına bağlı olarak. *
(Daha fazla okuma: Microsoft Office: Hesaplama operatörleri ve öncelik )
SMALL((A1,B1,F1),2)
- Eğer çalışmayan iç parantezleri kullanmazsanız - Bunu RANK ve FREQUENCY fonksiyonlarında da kullanabilirsiniz.
SUM
, AVERAGE
vb. işlevler 255
Bundan şüphelendiğim argümanlar, bir zamanlar olabileceği kadar faydalıdır ..... ancak birliğin bir başka kullanımı, daha fazla bitişik olmayan hücrelerin, örneğin; =SUM(A1,B1,F1)
iken 3 referans kullanıyor =SUM((A1,B1,F1))
sadece 1
=(A2,C8,C10) A2
kesişimini verecek A2
ve (A1,C8,C10)
Sadece delice bir örnek vermek için. Genel olarak bundan kaçınmak istediğinizi unutmayın.
LINEST
ve bu cevap işe yaramıyor.
Değerleri toplamak istiyorsanız, şunu yazabilirsiniz:
=SUM(I3:M3;I4:M4;I5:M5)
Metinleri birleştirmek istiyorsanız, bunu (veya Fareni kullan @soandos'un dediği gibi):
=CONCATENATE(A1;B1;C1;D1)
Yazmak istiyor gibisin . Ama bildiğim gibi, mümkün değil (hata verir) . =CONCATENATE(A1:D1)
Soru çok açık değil, fakat şimdilik metinleri birleştirmek zorundasınız. Mesela - örneğinize göre E2, E3, E4, E5, E6 birliğini birleştirmek zorundaysanız, şöyle bir formül yazabilirsiniz:
=CONCATENATE(E2,E3,E4,E5,E6)
Kendim denedim: Tek tek hücreleri tanımlamanız gerekir. ":" Bu benim için de Conatenate'de çalışmıyor. Bu yüzden yukarıda açıklandığı gibi denemelisiniz.
Aksi, mmdemirbas'ın cevabı mükemmel şekilde açıklar. SUM
Formül.
Kısacası cevap HAYIR.
Ancak, bazı işlevler için aşağıdaki geçici çözümü kullanabilirsiniz.
=COUNTA(B1:B3,A2:C2)-COUNTA(B1:B3 A2:C2)
Aralıkların ortak bir hücreye sahip olduğunu unutmayın (yani kesişen). "," Bazı işlevler tarafından birden fazla aralığın parametre olarak sağlanmasına izin vermek için kullanılır. Kesişme hücresini iki kez içereceği için bu birleşme değildir. İKİLİ İKİ olacaktır. Böylece, kavşağı çıkartarak doğru cevabı alırsınız.
Bu teknik aşağıdakilerle çalışmalıdır:
SUM()
COUNT()
COUNTA()
İşe yaramaz: SMALL()
LARGE()
Formül çalışacak şekilde değiştirilebilir:
AVERAGE()
İle asla gerekli değildir MAX and MIN
!
Bu şekilde çalışması ve UNION operatörü olmaması gerçek bir acı.
VBA'da uygun bir birleşim oluşturan bir işlev yazabilirsiniz:
bilgi için buraya bakın http://www.cpearson.com/excel/BetterUnion.aspx
yani
Function ProperUnion(ParamArray Ranges() As Variant) As Range
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ProperUnion
' This provides Union functionality without duplicating
' cells when ranges overlap. Requires the Union2 function.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim ResR As Range
Dim N As Long
Dim R As Range
If Not Ranges(LBound(Ranges)) Is Nothing Then
Set ResR = Ranges(LBound(Ranges))
End If
For N = LBound(Ranges) + 1 To UBound(Ranges)
If Not Ranges(N) Is Nothing Then
For Each R In Ranges(N).Cells
If Application.Intersect(ResR, R) Is Nothing Then
Set ResR = Union2(ResR, R)
End If
Next R
End If
Next N
Set ProperUnion = ResR
End Function