/ / Excel. Избройте всички вариации на диапазон от стойности - excel, excel-formula

Excel. Да се ​​изброят всяка вариация на диапазон от стойности - excel, excel-formula

Опитвам се да накарам Excel да изброи всички варианти на определена стойност.

Ако A1 = ABC1904 & A2 = ABC1910

Искам да изброя колона В.

ABC1904
ABC1905
ABC1906
ABC1907
ABC1908
ABC1909
ABC1910

Отговори:

0 за отговор № 1

Това е най-доброто, което можех да направя с чисто решение с формула:

=LEFT(A$1,3) & MID(A$1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A$1&"0123456789")),LEN(A$1))+MIN(RIGHT($A$2,1)+0,ROWS(A$1:A1)-1)

Оставя малко да се желае, защото ще имате куп дубликати, ако плъзнете формулата твърде далеч.

Ако не се противопоставяте на решение VBA, можете да го направите:

Sub VariationOfValue()
Dim startNumber     As Long, _
endNumber       As Long, _
counter         As Long

Dim leadingString   As String

With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
counter = 1

With Sheet1
leadingString = Left(Sheet1.Range("A1").Value, 3)

startNumber = Evaluate("=MID(A$1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A$1&""0123456789"")),LEN(A$1))") + 0
endNumber = Evaluate("=MID(A$2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A$2&""0123456789"")),LEN(A$2))") + 0
Do While startNumber <= endNumber
.Range("B" & counter).Value = leadingString & startNumber
counter = counter + 1
startNumber = startNumber + 1
Loop
End With

With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Има ли основно едно и също нещо, но само до последния номер. Така или иначе, надявам се, че едното или двете от тях помага малко.


0 за отговор № 2

Ако сте готови да имате няколко колони, за да постигнете това, то наистина не е много трудно.

Col A е вашите начални данни. [ABC1904 и ABC1910]

Col B съдържа уравнения = VALUE (ПРАВО (A1, LEN (A1) -3)), което дава числовата част на низовете. [1904 и 1910]

Полковник C съдържа уравнения, =IF(OR(C2=B$2,C2=""),"",C2 1) - с изключение на C1, която е просто = b1 - това дава серия от числа, които искате {1904 до 1910]

Полковник D съдържа уравнения =IF(C1="","",LEFT(A$1,3) &C1;)-това поставя текста обратно на лицевата страна на числата [ABC1904 до ABC1910]

.. Това ще бъде ясно с една снимка, но очевидно не са достатъчно репутация да публикувате един