Excel - макрос за сортиране на дати и премахване на дубликати

Проблем

Да предположим, че имам списък с всички предписания, които имаме за годината.

  • За всеки медикамент се създава нов ред.
  • Колона A показва датата, Col B показва името на аптеката, колона C на лекарството.

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

Искам да преброя колко пъти съм ходил във всяка аптека. Една проста функция за броене ще работи, освен ако имаме няколко лекарства през този ден, тя може (да преброи) да изброи тази аптека 3 пъти (по един за всеки ред - запомнете всеки ред само да посочите едно лекарство) и в колона А тя ще посочи същата дата 3 пъти. Така че, когато всъщност отидох само веднъж, той може да върне отговор на 3, ако преброя колоната с имената на аптеките.

И така, как мога да преброя колко пъти съм ходил на CVS (напр. Премахване на дублиращите се дати, посочени в колона А, за тази аптека, когато взех повече медикаменти от това пътуване. Това би било функция, която може би връща броя на името на аптеката, само ако това е уникална дата, която не е преброена преди.

Решение

Можете да направите това:

  • 1. Назовете диапазона, в който датите на вашето пътуване са DATES (в примерния файл, който ще започне от клетка E29)
  • 2. Назовете диапазона, в който името на аптеките е PHARMA. (в примерния файл, който ще започне от клетка F29)
  • 3 След като сте направили това, отидете в списъка, където са имената на фармацевтите. На базата на пробния файл въведете формулата по-долу в клетка F13. За формулата, след като сте поставили формулата, тя е КРИТИЧНА и не натискате Enter, а натиснете PRESS CTRL + SHIFT + ENTER при едно и също време. Ако сте го направили правилно, трябва да забележите, че формулата е във формулата {}. Формулата по-долу се основава на вашата примерна книга

 = SUM (АКО (FREQUENCY (IF ((LEN (DATES & PHARMA) * (PHARMA = E13))> 0, MATCH (DATES & PHARMA, DATES & PHARMA, 0), ""), IF ((LEN (DATES & PHARMA) * (PHARMA = E13))> 0, MATCH (DATES & PHARMA, DATES & PHARMA, 0), ""))> 0, 1, 0)) 

Във формулата по-долу E13 е първият ред във вашата примерна книга. След като сте поставили и след това сте натиснали CTRL + SHIFT + ENTER, плъзнете я надолу, за да покриете останалата част от фармацията

Отбележи, че

Благодарение на rizvisa1 за този съвет на форума.

Предишна Статия Следваща Статия

Топ Съвети