MS Excel: подсчет частоты одинаковых значений между пустыми ячейками

MS Excel: подсчет частоты одинаковых значений между пустыми ячейками

Я хотел бы посчитать частоту одинаковых значений в строке. Значение должно занимать не менее двух ячеек и находиться рядом друг с другом.

Я хотел бы разместить изображение здесь, но у меня недостаточно репутаций. В любом случае, скриншот можно найти здесь:https://www.dropbox.com/s/1em9ltssc1ruw0u/stackOverflow_excelIssue_Countfrequencyofsimilarvaluesinbetweenblankcells.jpg?dl=0

J7:BE7 — это поле, куда человек вводит значения — оно соответствует времени с шагом в 30 минут.

В другой части того же листа, в данном случае DD7:EY7, у меня выполняются формулы.

Эта формула находится в (первом столбце) DD7 -- COUNTIF(J7:$BE7,J7)

Эта формула находится в (последнем столбце) EY7 -- COUNTIF(BE7:$BE7,BE7)

Формула в DD7 подсчитывает количество появлений значения в J7 в строке 7 от столбца J до BE.

сценарий 1: эта формула отлично работает, если «оранжевый» встречается только один раз. на моем примере из K7:L7.

Сценарий 2: Проблема возникает, когда «оранжевый» снова появляется в непоследовательной ячейке. Я имею в виду, что «оранжевый» появляется в ячейке K7:L7, а затем снова появляется в ячейке P7:Q7.

в сценарии 1 результатом формулы при проверке K7:L7 является 2, что является искомым значением.

В сценарии 2 результат формулы при проверке K7:L7 равен 4, поскольку она также учитывает «оранжевый», который появляется на K7:L7.

Я надеялся, что подсчет остановится, если M7 будет иметь другое значение. K7:L7 содержит «orange», а M7:N7 — «apple». Или подсчет остановится, если между ними будет пустая ячейка, например, U7:V7 содержит «guava», а T7 пуста, тогда X7:Y7 снова содержит «guava».

фрукты могут занимать от двух до сорока восьми столбцов в каждом ряду.

Я знаю, что это многословно, но я не могу найти других способов объяснить это, английский не мой родной язык.

Заранее благодарю.

~марк

решение1

Если я правильно понял ваш запрос, то следующие формулы будут работать. Мое решение требует фиктивный столбец и вспомогательную строку, но их можно скрыть. Кроме того, вы, вероятно, сможете устранить фиктивный столбец, приложив немного усилий, а вспомогательную строку можно разместить где угодно.

Я предположу, что имена ваших клиентов находятся в строке 2. Я буду использовать столбец A как фиктивный столбец, поэтому данные о назначении начнутся в столбце B. Строка 3 будет вспомогательной строкой. В ячейке B3 введите формулу:

=IF(B2="", "", IF(B2<>C2, 1, C3+1))

Значение:

  • Если B2="", имя клиента для этого временного интервала пусто, значит, это свободный временной интервал, поэтому отобразите его пустым.
  • В противном случае, если B2<>C2, этот временной интервал и следующий имеют разных клиентов (C2 может быть пустым, а может и нет), поэтому это последний временной интервал для этой встречи. Представим его как 1. В противном случае, считаем в обратном порядке, поэтому предпоследний временной интервал для этой встречи будет 2, третий с конца временной интервал будет 3 и т. д.

В ячейке B4 введите:

=IF(A2<>B2, B3, "")
  • Если A2<>B2, этот временной интервал и предыдущий имеют разных клиентов (A2 может быть пустым или нет), поэтому это первый временной интервал для этой встречи. Отобразить B3, который показывает, сколько временных интервалов (полчаса) есть в этой встрече. В противном случае отобразить пустой.

Вот ваши данные по этим формулам:

       
                (Изображение выше ведет на полное изображение.)

Я изменил данные GUAVA, чтобы лучше проиллюстрировать, как это работает:

                                                               

Вы говорите: «Значение должно занимать не менее двух ячеек…». Если я правильно понимаю, вы можете изменить формулу в строке 4 на:

=IF(AND(A2<>B2,B3>1), B3, "")

т.е. отображать значение B3 только если оно > 1. Здесь показана первая формула строки 4 в строке 4 и измененная формула в строке 5:

       

Связанный контент