Страницы: 1
RSS
Сравнение ячеек с множеством значений, подсчёт значений в ячейке
 
Добрый вечер.

Что-то самостоятельно не могу дойти до нужного решения. Помогите, пожалуйста.

У меня есть две ячейки. В каждой из них есть ряд целых не повторяющихся цифровых значений (от 1 до 20), отделённых запятой (можно разделять точкой с запятой, если это принципиально для решения). Мне с ними нужно сделать два действия. Посчитать, сколько в этих ячейках цифр, а потом посчитать, сколько совпадений цифр между двумя ячейками.

К примеру:


1. Мне нужно посчитать, сколько цифр находится в ячейке А1 (в данном случае должно получиться 7
2. Сравнить ячейки А1 и Б1 и узнать, сколько там совпадений (в нашем случае 2 совпадения)

Если есть возможность осуществить подобное, подскажите, пожалуйста, как. Я уже всё что знала, перепробовала.  
Изменено: Chesse - 19.04.2015 22:29:14
 
И хотелось набирать данные в сообщении, когда есть готовый файл!
 
Если удобнее с файлом, то  
 
Цитата
Chesse написал: 1. Мне нужно посчитать, сколько цифр находится в ячейке А1 (в данном случае должно получиться 7
Вроде как получается 10...
Хотя если не считать повторы - то 7 :)
Так что именно нужно?
Изменено: Hugo - 19.04.2015 23:26:38
 
По отдельности они меня не интересуют, а исключительно как значения. То бишь 10 - это одно число, а не два.
Изменено: Chesse - 19.04.2015 23:35:48
 
Цитата
Chesse написал: То бишь 10 - это одно число, а не два.
Я и не говорил, что 10 - это два числа. Но то, что там 2 цифры - это точно, и без повторов :)
Изменено: Hugo - 19.04.2015 23:28:14
 
Признаю некорректность формулировки, но, может, у вас есть что сказать и по решению обозначенных задач?
Изменено: Chesse - 19.04.2015 23:34:55
 
Несложно сделать с помощью UDF (2 штуки нужно написать, ну или одну массивную), но Вы не сказали какое решение нужно. Может спецы стандартными сделают - первую задачу точно можно стандартной сделать по этому примеру.
 
Chesse, у меня есть что сказать. По поводу цитирования. Кнопка цитирования НЕ ДЛЯ ответа. Цитируйте только то, что действительно нужно.
 
Мне не важно, как это будет сделано. Мне для работы нужен только результат. Из-за размера массива вручную считать не представляется возможным. Но вот что такое UDF я не знаю, поэтому не уверена, что даже готовое решение будет мне полезно
Изменено: Chesse - 19.04.2015 23:34:05
 
Количество чисел можно подсчитать так (с подстраховкой по пробелам):
Код
=LEN(SUBSTITUTE(B2;" ";""))-LEN(SUBSTITUTE(SUBSTITUTE(B2;" ";"");",";""))+1
 
Первую задачу я сделал так:
Код
=ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2;",";""))+1

 
МВТ, работает отлично, большое спасибо!
Hugo, ваш вариант у меня, к сожалению, выдаёт ошибку.
 
 
Ну в общем как и я - только я подстраховался если вдруг там будут "плясать" пробелы. И на английском :)
А так ошибку не выдаёт? Формулу не менял!
Изменено: Hugo - 19.04.2015 23:24:03
 
Hugo, да-да, так всё работает) Видимо, мой эксель как и я - понимает только по-русски. А на счёт подстраховки - вещь крайне полезная, хотя автоматизация заполнения таблицы не даёт появиться лишку, но мало ли.  
 
Hugo, извините, не заметил, что Вы дали такой же ответ.
Chesse, вот такая UDF, попробуйте
Код
Function Povtor(ByVal S1 As String, ByVal S2 As String)
Dim Arr
Dim I As Integer
Dim Col1 As Collection
Set Col1 = New Collection
Arr = Split(Replace(S1, " ", ""), ",")
For I = 0 To UBound(Arr)
Col1.Add (Arr(I))
Next I
For I = 1 To Col1.Count
If InStr(Replace(S2, " ", ""), "," & Col1.Item(I) & ",") <> 0 Then Povtor = Povtor + 1
Next I
End Function

P.S. у меня какой-то глюк: в коллекцию добавляется 2 одинаковых элемента (файл прикрепил). Или я что перепутал на ночь глядя?
Изменено: МВТ - 20.04.2015 00:39:15
 
МВТ, ваша UDF сбоит и отображает не корректно. Если вы в вашем файле продолжите функцию вниз, то увидите, что в других строках количество пар не совпадает.

В последней строке количество совпадающих пар должно быть 3 (1, 8, 20), а считается всего одна. А вот в чём тут проблема, я определить не могу, так как в вашем коде почти ничего не поняла)
 
Оказывается Вам уже ответили здесь.  
Изменено: МВТ - 20.04.2015 02:24:39
 
МВТ, да, этот вариант работает как надо. Спасибо вам огромное!  
 
МВТ,да, хотя ваше решение мне нравится больше. Пока использую ваше, но то тоже возьму на вооружение, на всякий случай. Ещё раз спасибо за помощь)
 
Chesse, рекомендую ознакомиться с правилами, п.4.1
 
vikttur, понял, принял, осознал. Больше не буду.  
 
Цитата
МВТ написал:  в коллекцию добавляется 2 одинаковых элемента
а без ключа так и должно быть. Что кстати очень кстати иногда :)
 
Hugo, ага, протупил, спасибо
Страницы: 1
Наверх