Bu çok karmaşık olabilir - Ben çizim masasına geri gider ve bu durumda ve Tam bir VBA sürümü yapmak, ancak başlangıçta sadece formülleri kullanarak bir çözüm oluşturmak için bir meydan okuma arıyordum. Ne yazık ki, değişken hücre sayısının birleştirilmesi için standart bir formül tabanlı yaklaşım yoktur.
Function CombineRange(ByRef rng As Range, ByVal delim As String)
Dim arr
Dim i As Long
arr = rng.Value
CombineRange = ""
For i = 1 To UBound(arr)
If i > 1 Then
CombineRange = CombineRange & delim
End If
CombineRange = CombineRange & arr(i, 1)
Next i
End Function
Varsayımlar:
- sizin verilerdir
- Kişisel birleştirilmiş veri "YourData" adı verilen bir levha olduğu A sütunu
Yani, bunu gerçekleştirmek için, bir tane fonksiyonu eklendi
- "Tek satır" verileriniz sütun B
- Satır 1, bir çeşit üstbilgi satırıdır.
Sonraki, yeni bir sayfasında (Ben "Çöktü" diyoruz) üzerine dört sütun kurmak
A - Veri başlar ne olursa olsun satır başlatın Row = (ilk satır) (2 bizim durumumuzda)
A - Başlangıç Sıra = (tüm diğerleri) A2+B2
B - Ofset = {IFERROR(MATCH(FALSE,ISBLANK(INDIRECT(ADDRESS(A2+1,1,,,"YourData")&":A200")),0),0)}
Not bu bir dizidir fonksiyonudur, yani bunu girerken
C vardiya yapmak + Enter gerekir - Düzey1 = =INDEX(YourData!A:A,A2)
D - = =IF(B2<=1, INDIRECT(ADDRESS(A2,2,,,"YourData")), CombineRange(INDIRECT(ADDRESS(A2,2,,,"YourData")&":"&ADDRESS(A2+B2-1,2)),"; "))
Kombine Seviye 2 İlk sütunda birleştirmenin maksimum miktarı nedir? Her zaman bir veya iki satır mı? Ya da üç veya daha fazla olabilir mi? –
Değişir. Sahip olduğum maksimum değer, aynı sol sütun hücresine sahip 20 satır, en az çift kopya değil. –
Tamam. 2 kombinasyondan oluşan bir sürüm hazırladım, ama bence bundan daha fazlasını yapmak istiyorsanız, VBA bunu daha kolaylaştıracaktır. Bu yüzden mutlaka formüllerde olmayacak. –