Прескочи на основното съдържание

Как бързо да обедините редове въз основа на една стойност на колона, след което да направите някои изчисления в Excel?

Автор: Слънце Последна промяна: 2020-05-28

Например, имате диапазон от данни и една колона има дубликати, сега искате да обедините редове на базата на колона A (има дубликати), след което направете някои изчисления към друга колона въз основа на обединените редове, както е показано на екрана:

В Excel няма бърз метод за обединяване на редове въз основа на една стойност на колона, но тук представям
трикове, които могат да ви помогнат да обедините дублиращи се редове, след което да сумирате или да правите други изчисления в друга колона.


стрелка син десен балон Обединете редове въз основа на една колона, след което сумирайте стойности с VBA

Има код на VBA, който може да ви помогне да обедините дублиращите се редове, след което да сумирате стойностите на други колони.

Сърфиране с раздели и редактиране на множество работни книги на Excel/документи на Word като Firefox, Chrome, Internet Explore 10!

Може да сте запознати да преглеждате множество уеб страници във Firefox/Chrome/IE и да превключвате между тях, като лесно щраквате върху съответните раздели. Тук Office Tab поддържа подобна обработка, която ви позволява да преглеждате множество работни книги на Excel или документи на Word в един прозорец на Excel или прозорец на Word и лесно да превключвате между тях, като щраквате върху техните раздели. Кликнете безплатно 30-дневна пробна версия на Office Tab!

от ексел

1. Натиснете F11 + Alt ключове за активиране Microsoft Visual Basic за приложения прозорец, след което щракнете Поставете > Модули и копирайте и поставете под VBA кода в новия Модули прозорец.

VBA: Обединяване на редове въз основа на една стойност на колона

Sub MG30Nov12()
'Updateby20150519
Dim Rng As Range
Dim InputRng As Range
Dim nRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Rng In InputRng
    If Not .Exists(Rng.Value) Then
        .Add Rng.Value, Rng.Offset(, 1)
    Else
        .Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
            If nRng Is Nothing Then
                Set nRng = Rng
            Else
                Set nRng = Union(nRng, Rng)
            End If
    End If
Next
If Not nRng Is Nothing Then
    nRng.EntireRow.Delete
End If
End With
End Sub

2. Натиснете F5 или кликнете бягане бутон за стартиране на VBA и се появява диалогов прозорец за избор на диапазон от данни, който да работи. виж екранна снимка:

doc обединяване на колони въз основа на една колона 3

3. След като изберете работен диапазон, щракнете OK. Сега данните са обединени от първата колона и сумират стойностите във втората колона.

doc обединяване на колони въз основа на една колона 4

Забележка: Този код на VBA просто може да работи правилно при сливане въз основа на първата колона и стойностите на сумата във втората колона.


стрелка син десен балон Обединете редове въз основа на една колона, след което сумирайте стойности с Разширено комбиниране на редове

Ако не сте запознати с VBA кода, можете да използвате Разширено комбиниране на редове функция на инструмента за добавяне на трета част – Kutools за Excel за лесно и бързо обединяване на дублиращите се редове, след което сумирайте стойностите в друга колона.

След безплатно инсталиране Kutools за Excel, моля, направете следното:

1. Изберете данните, които искате да използвате, и щракнете Kutools > Обединяване и разделяне > Разширено комбиниране на редове. Вижте екранна снимка:

doc разширено комбиниране на ред 1

2. След това в изскачащия диалогов прозорец изберете колоната, въз основа на която ще обедините други колони, след което щракнете Първичен Клавиш и щракнете върху друга колона и щракнете Изчисли след това изберете Сума.

тип: Ако избраният от вас диапазон има заглавки, проверете Данните ми имат заглавки, и проверете Използвайте форматирани стойности ще запази форматирането след сливането.

doc обединяване на колони въз основа на една колона 6

3. След това кликнете Ok. Сега данните са обединени въз основа на основната колона, а друга се сумира. Вижте екранна снимка:

doc обединяване на колони въз основа на една колона 7


стрелка син десен балон Обединете редове въз основа на една колона, след което извършете различни операции върху други колони с Advanced Combine Rows.

Разширено комбиниране на редове е мощен, защото не само може да обедини дублиращи се редове в една колона, след което да сумира друга колона, но също така може да обедини дублиращи се редове в една колона, след което да извършва различни операции върху други колони.

Да предположим, че имам диапазон от данни, както е показано на екранната снимка по-долу, и искам да комбинирам както стойности в колона B, така и сумарни стойности в колона C въз основа на колона A.
doc обединяване на колони въз основа на една колона 8

След безплатно инсталиране Kutools за Excel, моля, направете следното:

1. Изберете диапазон от данни и щракнете Kutools > Обединяване и разделяне > Разширено комбиниране на редове. Вижте екранна снимка:

doc разширено комбиниране на ред 1

2. В Комбинирайте редове въз основа на колона диалог, направете следното:

(1) Щракнете върху колоната, въз основа на която искате да комбинирате, и щракнете Първичен ключ;

doc обединяване на колони въз основа на една колона 10

(2) Щракнете върху колоната, в която искате да комбинирате данни, и щракнете Комбинирам, след което изберете един разделител, от който се нуждаете, от списъка;

doc обединяване на колони въз основа на една колона 11

(3) Щракнете върху колоната, в която искате да сумирате стойностите, и щракнете Изчисли, и изберете Сума.

doc обединяване на колони въз основа на една колона 12

3. кликване Ok. Сега можете да видите резултата по-долу:

doc обединяване на колони въз основа на една колона 13

с Разширено комбиниране на редове функция, вие също можете да обедините редове въз основа на една колона, след което да преброите, осредните, да запазите 1-ви или последни данни в други колони. 

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have the same/similar question. I am trying to sum all of the columns to the right of the reference cell but it only sums the one. How do I get it to sum all those to the right individually?
This comment was minimized by the moderator on the site
Hey, your module used to work for big tables as well (eg. you want to sum up according to Year but you have Sales 1, Sales 2, Sales 3....etc). But now it only gets the first column right (Sales 1) and all others are not summed correctly. Did you change anything?
Thanks!
This comment was minimized by the moderator on the site
Hi, IK, maybe you can use the sumproduct function SUMPRODUCT((A2:A10=”Pen”)*(B2:E10)) to calculate them one by one. A2:A10 is the range contain the lookup value, pen is the criterion, B2:E10 is range that you want to sum based on criterion.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations