Страницы: 1
RSS
Сравнение двух таблиц
 
Здравствуйте, подскажите, пожалуйста, как можно решить следующую задачу:  
Есть 2 таблицы, нужно сравнить данные из первого столбца таблицы А с данными первого столбца таблицы Б. Если какие-то значения совпали, то нужно в третьем столбце таблицы А напротив совпавшего значения посчитать разницу значений из вторых столбцов. Пример таблицы во вложенном файле, только в действительности она намного больше...
 
{quote}{login=Арина}{date=16.10.2007 02:57}{thema=Сравнение двух таблиц}{post}Здравствуйте, подскажите, пожалуйста, как можно решить следующую задачу:  
Есть 2 таблицы, нужно сравнить данные из первого столбца таблицы А с данными первого столбца таблицы Б. Если какие-то значения совпали, то нужно в третьем столбце таблицы А напротив совпавшего значения посчитать разницу значений из вторых столбцов. Пример таблицы во вложенном файле, только в действительности она намного больше...{/post}{/quote}  
 
Ну во-первых, здесь не обойтись без макроса...  
И вопрос - почему в примере в таблице №1 в третьем столбце стоит примечание, ведь "1" нет в первом столбце второй таблицы..?..  
 
Если макрос Вас устроит, то можно и потрудиться...
 
Если данные в первых столбцах не повторяются, можно ВПР использовать.
 
Спасибо за советы! Данные в первых столбцах не повторяются; в идеале, если во второй таблице в первом столбце нет совпадений с первым столбцом первой таблицы, то в третьем столбце напротив единицы должно стоять 2, т.к. разница между 2 и 0 равна 2. Но это я хотела пока оставить; если подскажете, что делать, возможно, я бы доработала формулу сама...
 
{quote}{login=Арина}{date=16.10.2007 05:59}{thema=}{post}Спасибо за советы! Данные в первых столбцах не повторяются; в идеале, если во второй таблице в первом столбце нет совпадений с первым столбцом первой таблицы, то в третьем столбце напротив единицы должно стоять 2, т.к. разница между 2 и 0 равна 2. Но это я хотела пока оставить; если подскажете, что делать, возможно, я бы доработала формулу сама...{/post}{/quote}  
 
ну как нибудь так  
=B4-СУММЕСЛИ($H$4:$H$16;A4;$I$4:$I$16) (для ячейки С4)
 
Вот пользовательскаЯ функция :  
 
Function DRONY(Cells, Diapason, Dlyna)  
       For a = 1 To Dlyna  
           If Cells = Diapason.Cells(a) Then DRONY = Cells.Offset(0, 1) - Diapason.Offset(0, 1).Cells(a) Else DRONY = 0  
           If Cells = Diapason.Cells(a) Then Exit Function  
       Next a  
End Function  
 
 
 
Синтаксис : =Drony(A11;$F$2:$F$11;10)  
           =Drony("ячейка";"диапазон";"длина диапазона")  
 
ячейка -         то, что нужно проверить.  
диапазон -       то, где нужно проверить.  
длина диапазона -количество ячеек в выбранном диапазоне.
 
Спасибо большое, надо попробовать...
 
В приведенном примере (в первом твоем сообщении) книга сохранениа в Стиле ссылок R1C1 , желательно пересохранить ее к стиль А1 (обычный). Как это сделать  - все во вложении.
 
Моя функция имеет узкое применение, т.к. в ней учтено, что данные для вычетания при совпадении находятся правее на одну ячейку от сравниваемых. Если нужно более широкое применение, то нужно добавить еще как минимум один параметр в эту функцию.  
Во вложении пример работы этой функции.Да, я учел, что если нет совпадений со второй таблицей, то значение функции = числу стоящему левее от выбранной ячейки.
 
Спасибо, Drony, со стилем ссылок проблем бы не возникло :), а вот макрос очень помог!  
В реальности таблицы понавороченней (выгрузка из 1С оборотной ведомости), буду их приводить к упрощенному виду, а затем использовать макрос.
 
{quote}{login=Арина}{date=17.10.2007 01:16}{thema=}{post}Спасибо, Drony, со стилем ссылок проблем бы не возникло :), а вот макрос очень помог!  
В реальности таблицы понавороченней (выгрузка из 1С оборотной ведомости), буду их приводить к упрощенному виду, а затем использовать макрос.{/post}{/quote}  
 
Приятно осознавать, что мой труд оказался для тебя полезным.  
:)
Страницы: 1
Читают тему
Наверх