Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вычисляемое поле в сводной таблице / 14 сообщений из 14, страница 1 из 1
19.02.2016, 08:21
    #39174907
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Здравствуйте!

Создаю формулу с условием. Если в поле больше 30%, то пишет "Завышенный", иначе пусто. Но в результате пишет "#ЗНАЧ!"

Почему так? Как правильно написать?
...
Рейтинг: 0 / 0
19.02.2016, 11:22
    #39175061
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
приложите файл
...
Рейтинг: 0 / 0
19.02.2016, 12:43
    #39175173
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Shocker.Pro,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Sub Макрос1()
    Const VivodVozvrati As String = "Вывод возвраты"
    Const VozvratiSummBezNDSOtOtr As String = "Процент возврата от отгрузки"
    Const VozvratZav As String = "Возврат завышенный"
   
    Dim PTCache As PivotCache
    Dim PT As PivotTable
    
    Cells(1, 1) = "Клиент"
    Cells(1, 2) = VozvratiSummBezNDSOtOtr
    
    For i = 1 To 10
        Cells(i + 1, 1) = "Клиент " & i
        Cells(i + 1, 2) = i / 10
    Next i
    Set PTCache = ThisWorkbook.PivotCaches.Create( _
        SourceType:=xlDatabase, _
        SourceData:=Range("A1:B11"))
    
    Set PT = ThisWorkbook.Sheets(1).PivotTables.Add( _
        PivotCache:=PTCache, _
        TableDestination:=Cells(1, 5), _
        TableName:="1")
   
    ActiveSheet.PivotTables(1).CalculatedFields.Add VivodVozvrati, _
          "= IF('" & VozvratiSummBezNDSOtOtr & "'>0.3," & """" & VozvratZav & """" & ","""")", True
            
    ActiveSheet.PivotTables("1").PivotFields("Клиент").Orientation = xlRowField
    ActiveSheet.PivotTables("1").PivotFields("Клиент").Position = 1
    ActiveSheet.PivotTables("1").AddDataField ActiveSheet.PivotTables("1"). _
        PivotFields("Процент возврата от отгрузки"), _
        "Сумма по полю Процент возврата от отгрузки", xlSum
    ActiveSheet.PivotTables("1").AddDataField ActiveSheet.PivotTables("1"). _
        PivotFields(VivodVozvrati), "Сумма по полю Вывод возвраты", xlSum
 
End Sub
...
Рейтинг: 0 / 0
20.02.2016, 14:13
    #39176061
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Ошибка где то здесь

ActiveSheet.PivotTables(1).CalculatedFields.Add VivodVozvrati, _
"= IF('" & VozvratiSummBezNDSOtOtr & "'>0.3," & """" & VozvratZav & """" & ","""" )", True
...
Рейтинг: 0 / 0
20.02.2016, 14:26
    #39176075
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Повторюсь, приложите файл.
Если вам лень приложить тестовый файл, то специалистам, которые могли бы вам помочь, тем более лень его воссоздавать по косвенным признакам.
Ждите дальше.
...
Рейтинг: 0 / 0
20.02.2016, 17:10
    #39176205
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Выкладываю файл
...
Рейтинг: 0 / 0
20.02.2016, 17:48
    #39176222
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
ferzmikkОшибка где то здесьНет, ошибка дальше

Проблема в том, что вы пытаетесь суммировать текстовые значения, естественно, это приводит к "#ЗНАЧ".
...
Рейтинг: 0 / 0
20.02.2016, 20:27
    #39176296
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Shocker.ProferzmikkОшибка где то здесьНет, ошибка дальше

Проблема в том, что вы пытаетесь суммировать текстовые значения, естественно, это приводит к "#ЗНАЧ".

И как быть теперь? Необходимо такое поле, который отображает вывод
...
Рейтинг: 0 / 0
20.02.2016, 20:57
    #39176303
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Лично мне задача не очень понятна (безотносительно способа ее программирования).

Вы хотите просуммировать проценты по каждому клиенту? По мне так это достаточно бессмысленная величина, смысл может быть в средней величине или в максимальной. Либо вы СНАЧАЛА хотите просуммировать, а потом уже проверять на >0.3 - тогда подход в корне неверный, так как вы пытаетесь сделать наоборот.

Не возражаете, если я перенесу эту тему в Misrosoft Office - мне кажется, там можно ожидать бОльшей помощи?
...
Рейтинг: 0 / 0
21.02.2016, 11:25
    #39176366
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Shocker.ProЛично мне задача не очень понятна (безотносительно способа ее программирования).

Вы хотите просуммировать проценты по каждому клиенту? По мне так это достаточно бессмысленная величина, смысл может быть в средней величине или в максимальной. Либо вы СНАЧАЛА хотите просуммировать, а потом уже проверять на >0.3 - тогда подход в корне неверный, так как вы пытаетесь сделать наоборот.

Суммировать проценты по каждому клиенту мне это не нужно.

Уточняю свою задачу. Во вложенном файле краткий пример. Сама сводная таблица большая. Присутствуют значения разные, потом создаются вычисляемые поля в сводной таблице: проценты из этих значении. Хочу создать вычисляемое поле как в скриншоте: крайняя колонка справа, которая не в сводной таблице. Отображает вывод по каждой строке. Вот как сделать так, чтобы это было в сводной таблице, как то обойти. Понятно что в значение не затолкаешь, иначе хочет просуммировать текстовые значения. Создавать такие колонки не в сводной таблице, а рядом, это не оптимальное решение.
...
Рейтинг: 0 / 0
21.02.2016, 11:29
    #39176367
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
...
Рейтинг: 0 / 0
21.02.2016, 12:42
    #39176378
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Я все равно не понимаю.

Вы говорите: "Суммировать проценты по каждому клиенту мне это не нужно.", при этом тут же приводите пример где "Сумма по полю Процент возврата от отгрузки" в разбивке по клиентам.

Давайте так- это задача пока не на программирование, а на то, как вам построить сводную определенного вида. То есть сначала сделать ее без программирования, руками.
Сделайте новую тему в разделе Microsoft Office , попробуйте изложить с чистого листа, что вам нужно и попробуйте приложить более внятный тестовый пример (не в виде скриншота, а в виде файла эксель), чтобы тот, кто может вам помочь, мог его его открыть и "потыкать".
...
Рейтинг: 0 / 0
21.02.2016, 16:10
    #39176430
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
Shocker.ProЯ все равно не понимаю.

Вы говорите: "Суммировать проценты по каждому клиенту мне это не нужно.", при этом тут же приводите пример где "Сумма по полю Процент возврата от отгрузки" в разбивке по клиентам.

Давайте так- это задача пока не на программирование, а на то, как вам построить сводную определенного вида. То есть сначала сделать ее без программирования, руками.
Сделайте новую тему в разделе Microsoft Office , попробуйте изложить с чистого листа, что вам нужно и попробуйте приложить более внятный тестовый пример (не в виде скриншота, а в виде файла эксель), чтобы тот, кто может вам помочь, мог его его открыть и "потыкать".

Разместил.
...
Рейтинг: 0 / 0
22.02.2016, 09:50
    #39176595
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в сводной таблице
ferzmikk,

Я бы вычислил, а потом бы сводную делал. Попробуй так.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вычисляемое поле в сводной таблице / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]