02.08.2012 18:11
SLAVICK
 
Цитата:
SLAVICK
Цитата:
Aleksandr H. Вариант с ВПР и сортировкой отклонения рассматривался, но был отклонен в виду своей "простоты" 8-)
можно просто с формулой массива и фильтром :D
Забыл сказать - после введения формулы - желательно одновременно нажать CTRL + SHIFT + ENTER ;)
И ABS - в моей формуле можно не писать - получится так =МАКС(ЕСЛИ($A$2:$A$8=A2;$D$2:$D$8))-D2
02.08.2012 18:26
SLAVICK
 
Можно и одним столбцом без модуля 8-)
Ставим фильтр на 0 и будет нам счастье :D
Вложения
Тип файла: xlsx MaksOdchyl2.xlsx (13.5 Кб, 127 просмотров)
03.08.2012 17:42
Закупщик56541
 
Добрый день!
Подскажите, пож-та, в чем может быть причина НЕнахождения позиций через функцию ВПР? И как быть, если такое происходит? Глазами вижу, что есть строки с абсолютно одинаковым текстом, но не поиск не работает.
Если это имеет значение, у меня 2 файла - выгрузка из 1С и таблица в Excel.

Спасибо заранее за ответ.
06.08.2012 01:42
andrey_f
 
Цитата:
Нейжмакова Анастасия в чем может быть причина НЕнахождения позиций через функцию ВПР? И как быть, если такое происходит? Глазами вижу, что есть строки с абсолютно одинаковым текстом, но не поиск не работает.
Если это имеет значение, у меня 2 файла - выгрузка из 1С и таблица в Excel.
Добрый день.
Скорее всего, в выгрузке из 1С присутствуют дополнительные непечатаемые символы. Проверьте вручную, например, это может быть пробел в конце строки или что-то подобное. В данном случае можно воспользоваться данной обработкой.
06.08.2012 14:28
RazVal
 
Цитата:
administrator
Цитата:
Нейжмакова Анастасия в чем может быть причина НЕнахождения позиций через функцию ВПР? И как быть, если такое происходит? Глазами вижу, что есть строки с абсолютно одинаковым текстом, но не поиск не работает.
Если это имеет значение, у меня 2 файла - выгрузка из 1С и таблица в Excel.
дополнительные непечатаемые символы. Проверьте вручную, например, это может быть пробел в конце строки или что-то подобное.
Кроме этого, функция ВПР в Excel чувствительна к типу значения в ячейке. То есть число 102 не соответствует текстовой строчке "102", которая внешне будет выглядеть точно также, и даже лишних символов иметь не будет. Проще всего преобразовать столбец с числовыми кодами в текстовом формате прибавив к ним ноль в соседней ячейке и продлить формулу вниз.
Если же речь о двух текстовых ячейках, то бывают ещё несоответствия кодировки. Например Русская буква "С" (эс) и английская "С" (си) - ничем внешне не отличаются, но для функции ВПР - являются разными символами. В таком случае надо производить массовую замену всех таких букв: А, В, С, Е, Н, К, М, О, Р, Т, Х - на аналогичные Русские, если будете делать это часто, то советую записать простенький макрос.
Возможно, есть и другие ситуации - проще было бы помочь, если бы ты смогла выложить сюда файл с двумя ячейками, по которым должна срабатывать функция ВПР, а она не срабатывает. ;)
06.08.2012 18:15
Закупщик56541
 
Ребята, спасибо большое за ответ!

Действительно мешали пробелы. Вы мне просто спасли жизнь!!!!! Думала с ума сойду, если мне придется 10 тыс. строк просматривать глазами)
10.08.2012 11:35
SLAVICK
 
Здравствуйте, есть такая надстройка - "myaddin", так вот - там есть макрос, который меняет функции полей сводных таблиц (можно только выбранных, можно всех сразу) - на сумму, количество ....
проблема в том, что когда работаешь не на своем компе - приходится это все менять ручками, перебирая каждое поле :(
Может кто то знает где взять макрос, который бы так менял выбранные поля, можно без графической оболочки, и только на сумму. - искал - не нашел :?: :o
10.08.2012 13:12
SLAVICK
 
Нашел на планете эксель - такой код
Sub rmk()
Dim ptTable As PivotTable, pvtField As PivotField, cl As Long, rw As Long, i As Long
Application.ScreenUpdating = 0
For Each ptTable In ActiveSheet.PivotTables
With ptTable
If Not (Intersect(.TableRange1, Selection) Is Nothing) Then
For Each pvtField In .DataFields
On Error Resume Next
pvtField.Caption = Split(pvtField.Name, "полю")(1)
pvtField.Function = xlSum
pvtField.NumberFormat = "0"
Next
Exit Sub
End If
End With
Next
Application.ScreenUpdating = 1
End Sub
А как его переделать, чтоб менялись не все поля, а только выделенные?
13.08.2012 10:04
andrey_f
 
Я не пробовал на данных, но навскидку если, то:

Код:
Sub rmk()
 Dim ptTable As PivotTable, pvtField As PivotField, cl As Long, rw As Long, i As Long
 Application.ScreenUpdating = 0
    For Each ptTable In ActiveSheet.PivotTables
        With ptTable
        If Not (Intersect(.TableRange1, Selection) Is Nothing) Then
            For Each pvtField In .DataFields
                If Not (Intersect(.DataRange, Selection) Is Nothing) Then
                    On Error Resume Next
                    pvtField.Caption = Split(pvtField.Name, "полю")(1)
                    pvtField.Function = xlSum
                    pvtField.NumberFormat = "0"
                End If
            Next
            Exit Sub
        End If
    End With
 Next
 Application.ScreenUpdating = 1
 End Sub
13.08.2012 10:38
SLAVICK
 
Выдает ошибку :(
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок1.jpg
Просмотров: 453
Размер:	17.4 Кб
ID:	6263   Нажмите на изображение для увеличения
Название: Снимок2.jpg
Просмотров: 447
Размер:	71.9 Кб
ID:	6264  
Часовой пояс GMT +3, время: 23:45.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.