Как да изброя или генерирам всички възможни комбинации в Excel?
Да кажем, че имам следните две колони с данни и сега искам да генерирам списък с всички възможни комбинации въз основа на двата списъка със стойности, както е показано на лявата екранна снимка. Може би можете да изброите всички комбинации една по една, ако има малко стойности, но ако има няколко колони с множество стойности, необходими за изброяване на възможните комбинации, ето някои бързи трикове, които могат да ви помогнат да се справите с този проблем в Excel .
Избройте или генерирайте всички възможни комбинации от два списъка с формула
Избройте или генерирайте всички възможни комбинации от три или повече списъка с VBA код
Избройте или генерирайте всички възможни комбинации от множество списъци с мощна функция
Избройте или генерирайте всички възможни комбинации от два списъка с формула
Следната дълга формула може да ви помогне бързо да изброите всички възможни комбинации от две списъчни стойности, моля, направете следното:
1. Въведете или копирайте формулата по-долу в празна клетка, в този случай ще я въведа в клетка D2 и след това натиснете Въведете ключ, за да получите резултата, вижте екранната снимка:
2. След това изберете клетка D2 и плъзнете манипулатора за запълване надолу към клетките, докато получите празните клетки и всички възможни комбинации са изброени въз основа на стойностите на двата списъка. Вижте екранна снимка:
Избройте или генерирайте всички възможни комбинации от три или повече списъка с VBA код
Може би горната формула е донякъде трудна за прилагане, ако има няколко колони с данни, ще бъде трудно да се промени. Тук ще представя VBA код, за да се справя бързо с него.
1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. Щракнете Поставете > Модулии поставете следния код в Модули Window.
VBA код: Генерирайте всички комбинации от 3 или няколко колони
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A5") 'First column data
Set xDRg2 = Range("B2:B4") 'Second column data
Set xDRg3 = Range("C2:C4") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
3. След това натиснете F5 ключ за изпълнение на този код и всички комбинации от 3-те колони ще бъдат генерирани наведнъж, вижте екранната снимка:
Избройте или генерирайте всички възможни комбинации от множество списъци с мощна функция
Ако има няколко списъци, стойностите трябва да бъдат изброени възможните комбинации, може би ви е трудно да промените кода. Тук мога да препоръчам мощен инструмент -- Kutools за Excel, съдържа удобна функция Избройте всички комбинации който може бързо да изброи всички възможни комбинации въз основа на дадени списъци с данни.
След инсталиране Kutools за Excel, моля, направете следното:
1. Кликнете Kutools > Поставете > Избройте всички комбинации, вижте екранна снимка:
2. В Избройте всички комбинации диалогов прозорец, направете операциите, както е показано в демонстрацията по-долу:
3. След това всички посочени стойности и разделители са изброени в диалоговия прозорец, вижте екранната снимка:
4.И след това щракнете Ok и ще изскочи поле за подкана, за да ви напомни, че изберете клетка, за да изведете резултата, вижте екранната снимка:
5. Щракнете OK, всички възможни комбинации въз основа на дадените списъци са генерирани в работния лист, както е показано на следната екранна снимка:
Щракнете, за да изтеглите Kutools за Excel сега!
Още относителни статии:
- Генерирайте всички комбинации от 3 или множество колони
- Да предположим, че имам 3 колони с данни, сега искам да генерирам или изброя всички комбинации от данните в тези 3 колони, както е показано на екранната снимка по-долу. Имате ли добри методи за решаване на тази задача в Excel?
- Намерете всички комбинации, които са равни на дадена сума
- Например, имам следния списък с числа и сега искам да знам коя комбинация от числа в списъка се равнява на 480, на показаната по-долу екранна снимка можете да видите, че има пет групи от възможни комбинации, които се равняват до 480, като 300+60+120, 300+60+40+80 и т.н. В тази статия ще говоря за някои методи за намиране кои клетки сумират до конкретна стойност в Excel.
- Генерирайте или избройте всички възможни пермутации
- Например, имам три знака XYZ, сега искам да изброя всички възможни пермутации въз основа на тези три знака, за да получа шест различни резултата като този: XYZ, XZY, YXZ, YZX, ZXY и ZYX. В Excel, как бихте могли бързо да генерирате или изброите всички пермутации въз основа на различен брой знаци?
- Генерирайте списък с всички възможни 4-цифрени комбинации
- В някои случаи може да се наложи да генерираме списък от всички възможни 4-цифрени комбинации от числа от 0 до 9, което означава да генерираме списък от 0000, 0001, 0002…9999. За бързо решаване на задачата със списък в Excel, представям ви някои трикове.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!