Екцел - Упореди колону А и Б даје резултате у колони Ц

Питање

Имам податке у колони А и Б који покрива до 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. Наравно, да бисте је откључали, једноставно двапут кликните на датотеку кеи.бат и мапа би се требала вратити у мапу коју сте креирали.

Белешка

Хвала Наванеетх за овај савјет на форуму.

Претходни Чланак Sledeći Чланак

Топ Савети