MS Excel: підрахунок частоти подібних значень між порожніми клітинками


2

Мені б хотілося рахувати частоту однакових значень підряд. Значення повинно займати щонайменше дві комірки і повинно бути поруч.

Я хотів би розмістити зображення тут, але мені не вистачає репутації. У будь-якому випадку, скріншот можна знайти тут: https://www.dropbox.com/s/1em9ltssc1ruw0u/stackOverflow_excelIssue_Countfrequencyofs similarvaluesinbetblankcells.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 містить "апельсин", а M7: N7 "яблуко". або підрахунок припиниться, якщо між ними є порожня клітинка, наприклад U7: V7 містить "гуаву", а T7 порожній, тоді X7: Y7 знову має "гуаву".

плоди можуть займати два-сорок вісім стовпців кожного ряду.

Я знаю, що це багатослівно, але я не можу знайти інших способів пояснити це, англійська мова не є моєю першою мовою.

Дякую за передову.

~ позначка


Спробуйте зробити це зрозумілішим. (1) Це не допоможе дати ідентифікатори стовпців ( K, L, Pі BE) в тексті , коли вони не видно на зображенні. (2) Це досить простий набір даних; ви можете просто ввести приклади даних і забути зображення. (3) Ви не говорите про подібні клітини; ви говорите про однакові клітини. (4) Ви справді запитуєте про порожні клітинки? Виходячи з Вашого опису проблеми в реальному світі, AA__BBAAі їх AABBCCAAслід вважати двома окремими зустрічами для клієнта A- не має значення, чи є там порожня клітинка чи ні.
G-Man

Я вважаю, що вам може вдасться перемогти щось разом, використовуючи комбінацію вкладених ifs, щоб створити унікальний номер для кожного окремого періоду зустрічі / клієнта, а потім скористатися формулою ранжування, щоб потім ви змогли проаналізувати різні, відповідні значення у кожному наборі, але це звучить абсолютно жалко жахливо для управління. Це дійсно найкраще вирішити за допомогою VBA / Macro.
JNevill

@ g-man, я оновив зображення, щоб показати сітку. дякую, так, я повинен був використовувати слово тотожне. так, AA__BBAA та AABBCCAA слід вважати двома різними зустрічами для клієнта А. Але я хочу порахувати довжину бронювання клієнта А. за допомогою лічильника, результат буде 4 на першій зустрічі та 2 на наступній зустрічі. мені це потрібно, щоб показати 2 в обох випадках.
Марк Роблз

@jnevill, так, я згоден, VBA - це найкращий шлях. хтось поділився мені своєю формулою, stackoverflow.com/questions/25632952/…, але результат формули не оновлюється, якщо я знову не скопіюю та не вставляю його формулу. або щоразу, коли на моїх даних є оновлення. Я noob у VBA, і я не впевнений, як вирішити проблему "не оновлення". = (
Марк Роблес

Відповіді:


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:

       


дуже тобі дякую! це саме відповідь на моє запитання. це дає мені саме той результат, який мені потрібен. якщо ви коли-небудь потрапите на манілу, філіппіни, дайте мені знати, щоб я могла купити вам пиво.
Марк Роблз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.