Екцел - Упореди колону А и Б даје резултате у колони Ц
Питање
Имам податке у колони А и Б који покрива до 55000 колона понекад само 144 колоне, које изгледају као:
АБ (Ц резултат) 2 ЗЗ, А, К 3 ПП, В 4 ВВ 2 А - 2 К - 3 В - 1 ДД
Овдје прво потражите цол: А први број је "2" и у колони: Б има "З", "А" & "К" па је резултат З, А, К једна од најважнијих ствари овдје је остатак "2" у колони: А треба да буде празан.
Решење 1
Ово је први макро који можете користити:
Суб тест () Дим аццоунтНаме, ластРов, вритеИнЦелл, репеатТимес ластРов = Распон ("Б1") Крај (клДовн) .Ров Схеетс (1) .Селецт Фор и = 2 За ластРов вритеИнЦелл = и Ранге ("Б" & и) .Селецт аццоунтНаме = Опсег ("Б" & и) .Вредност Иф (Опсег ("Ц" & и) .Валуе "") Затим репеатТимес = ЦИнт (Опсег ("Ц" & и) .Валуе) Крај Ако Ако поновитеТимес> 1 Онда аццоунтНаме = ВорксхеетФунцтион.Репт (аццоунтНаме & ", ", репеатТимес) Крај Ако ј = и + 1 аццоунтНаме = Трим (аццоунтНаме) Иф (Ригхт (аццоунтНаме, 1) = ", ") Онда аццоунтНаме = Лефт (аццоунтНаме, Лен (аццоунтНаме) - 1) Енд Иф Иф (и ластРов) Онда До До АцтивеЦелл.Оффсет (1, -1) .Валуе репеатТимес = 0 Иф (Ранге ("Ц" & ј) .Валуе "") Затим репеатТимес = ЦИнт (Опсег ("Ц" & ј) .Валуе) Крај Ако Ако је поновљеноТимес> 0 Тада аццоунтНаме = Трим (аццоунтНаме) Иф (Десно (аццоунтНаме, 1) = ", ") Онда аццоунтНаме = аццоунтНаме & ВорксхеетФунцтион.Репт (Ранге "Б" & ј) .Валуе & ", ", репеатТимес) Иначе аццоунтНаме = аццоунтНаме & ", " & ВорксхеетФунцтион.Репт (Опсег ("Б" & ј) .Вредност & ", ", репеатТимес) Заврши ако се заврши ако Ац тивеЦелл.Оффсет (1, 0) .Селект и = и + 1 ј = и + 1 Лооп Енд Ако аццоунтНаме = Трим (аццоунтНаме) Иф (Ригхт (аццоунтНаме, 1) = ", ") Онда аццоунтНаме = Лефт (аццоунтНаме, Лен (аццоунтНаме) - 1) Крај Ако аццоунтНаме = Замените (аццоунтНаме, ", ", ", ") Распон ("Д" & вритеИнЦелл) .Валуе = аццоунтНаме аццоунтНаме = "" репеатТимес = 0 Следећи и Ранге ("А1"). Изаберите Енд Суб
Решење 2
Други макро:
Суб тест () Дим аццоунтНаме, ластРов, вритеИнЦелл ластРов = Ранге ("Б1"). Енд (клДовн) .Ров Схеетс (1) .Селецт Фор и = 2 То ластРов вритеИнЦелл = и аццоунтНаме = Ранге ("Б" & и) .Валуе Ранге ("Б" & и) .Селецт Иф (и ластРов) Онда До До АцтивеЦелл.Оффсет (1, -1) .Вредност "" аццоунтНаме = аццоунтНаме & ", " & АцтивеЦелл.Оффсет (1, 0). Валуе АцтивеЦелл.Оффсет (1, 0) .Селецт и = и + 1 Лооп Енд Иф Ранге ("Ц" & вритеИнЦелл) .Валуе = аццоунтНаме Нект и Енд Суб
Решење 3
- 1. Креирајте фасциклу у диск јединици ради лакшег приступа, нпр. Ц :. (Именујте нешто повезано са контролном таблом, нпр. Корисници.)
- 2. Креирајте нову датотеку у Нотепаду и копирајте и налепите следеће у њу:
Усер Усерс. {21ЕЦ2020-3АЕА-1069-А2ДД-08002Б30309Д}
- 3. Замените "Усерс" са именом директоријума који сте креирали и сачувајте датотеку као лоц.бат.
(Сада би требало да можете да видите свој директоријум и лоц.бат датотеку, са лоц.бат у истом директоријуму као и фолдер Не у њему.)
- 4. Сада кликните десним тастером миша и направите другу текстуалну датотеку. Копирајте и налепите следеће у њега:
{21ЕЦ2020-3АЕА-1069-А2ДД-08002Б30309Д} Корисници
(Побрините се да замијените ријеч "Корисници" називом мапе.)
- 5. Сачувајте га као кеи.бат.
- 6. Сада бисте требали видјети датотеке лоц.бат и кеи.бат у истом директорију као и мапа коју сте креирали.
- 7. Сада, све што треба да урадите је да двапут кликнете на датотеку лоц.бат, а фасцикла треба да има икону која изгледа као контролна табла. Ако кликнете на фасциклу, требало би да вас преусмери на контролну таблу и на тај начин закључате фасциклу.
- 8. Наравно, да бисте је откључали, једноставно двапут кликните на датотеку кеи.бат и мапа би се требала вратити у мапу коју сте креирали.
Белешка
Хвала Наванеетх за овај савјет на форуму.