Подсчет побед и поражений (Microsoft Excel)
Грэм создал в Excel матрицу имен игроков для своей лиги.
Ячейки B2: H2 содержат имена игроков, как и ячейки A3: A9. На каждом пересечении в матрице Грэм ставит «W» или «L», чтобы указать, привело ли совпадение к победе или поражению игрока в каждой строке. Если игрок играет с другим человеком более одного раза, то ячейка содержит «W» или «L» для каждой игры. Грэму было интересно, какую формулу можно использовать, начиная с столбца I, для обозначения количества побед и поражений каждого игрока.
Есть несколько способов получить желаемую информацию. Один из них — использовать формулу этого типа:
=LEN(SUBSTITUTE(B3&C3&D3&E3&F3&G3&H3,"L",""))
Эта формула вычисляет количество символов, отличных от L, в строке 3, другими словами, количество побед. Он делает это путем объединения содержимого B3: H3, а затем с помощью функции SUBSTITUTE для удаления всех L. Это оставляет Ws, которые подсчитываются функцией LEN. Вы также можете использовать функцию CONCATENATE следующим образом для того же результата:
=LEN(SUBSTITUTE(CONCATENATE(B3,C3,D3,E3,F3,G3,H3),"L",""))
Чтобы рассчитать количество потерь, просто замените «L» в каждой формуле на «W».
Вы также можете использовать формулу массива, которая позволяет вам указать диапазон ячеек для исследования, вместо того, чтобы указывать каждую отдельную ячейку:
=SUM(LEN(SUBSTITUTE(B3:H3, "L","")))
Эта формула массива, вводимая нажатием Shift + Ctrl + Enter, возвращает количество побед (W символов) в диапазоне B3: H3.
Наконец, вы можете использовать пользовательскую функцию, чтобы вернуть вхождения определенного символа в заданном диапазоне. Следующий макрос сделает свое дело:
Function CharNums(r, chr) As Integer Dim c As Range Dim strX As String Dim J As Integer Application.Volatile CharNums = 0 For Each c In r.Cells strX = c.Value For J = 1 To Len(strX) If Mid(strX, J, 1) = chr Then CharNums = CharNums + 1 Next J Next c End Function
Чтобы использовать эту функцию, вы должны использовать такую формулу на своем листе:
=CharNums(B3:H3;"W")
Функция возвращает количество символов W в верхнем регистре в диапазоне.
Все остальные символы (включая символы w нижнего регистра) игнорируются. Чтобы подсчитать потери, просто замените в формуле L.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3049) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Counting_Wins_and_Losses [Подсчет побед и поражений]
.