Дата: Воскресенье, 05.01.2014, 11:44 |
Сообщение № 1
Группа: Гости
Задача сделать файл екселя в который будет копироваться список данных: Код Наименование Количество и на выходе выдавать этот список сортированным по Коду.
Код и числа и текст, например часть 7114 7115 7116 7117 F007 F008 F009 F010 F011 F014 F015
Загвоздка в части подсчета для дальнейшей сортировки: формула =СЧЁТЕСЛИ(B:B;">"&B19) считает текст но не считает числа. Я уже и в текст преобразовывал столбец с кодом но все равно не считает.
Задача сделать файл екселя в который будет копироваться список данных: Код Наименование Количество и на выходе выдавать этот список сортированным по Коду.
Код и числа и текст, например часть 7114 7115 7116 7117 F007 F008 F009 F010 F011 F014 F015
Загвоздка в части подсчета для дальнейшей сортировки: формула =СЧЁТЕСЛИ(B:B;">"&B19) считает текст но не считает числа. Я уже и в текст преобразовывал столбец с кодом но все равно не считает.Виолин
Дата: Воскресенье, 05.01.2014, 12:20 |
Сообщение № 4
Группа: Гости
В столбце В все данные преобразованы в текст =Текст(A1;"#") Столбец В (значения) 7114 7115 7116 7117 F007 F008 F009 F010 F011 F014 В ячейках столбца С стоит формула =СЧЁТЕСЛИ(B:B;">"&B1), =СЧЁТЕСЛИ(B:B;">"&B2) и т.д. Результат выдает такой: 0 0 0 0 0 0 0 7 8 9 10
В столбце В все данные преобразованы в текст =Текст(A1;"#") Столбец В (значения) 7114 7115 7116 7117 F007 F008 F009 F010 F011 F014 В ячейках столбца С стоит формула =СЧЁТЕСЛИ(B:B;">"&B1), =СЧЁТЕСЛИ(B:B;">"&B2) и т.д. Результат выдает такой: 0 0 0 0 0 0 0 7 8 9 10Виолин
Это баг функции СЧЁТЕСЛИ(). В записи ">"&B1 B1 (7114) преобразуется в число не зависимо от того, чем оно является в массиве. но в массиве это по-прежнему текст. Любой текст больше любого числа. Можно "обмануть", примерно так:
Код
=ЕСЛИ(B1<>"";СЧЁТЕСЛИ(B:B;"<"&B1&"*");"")
но здесь тоже есть подводные камни... Правильный вариант - в диапазоне значений все числа должны быть числами.
Это баг функции СЧЁТЕСЛИ(). В записи ">"&B1 B1 (7114) преобразуется в число не зависимо от того, чем оно является в массиве. но в массиве это по-прежнему текст. Любой текст больше любого числа. Можно "обмануть", примерно так:
Код
=ЕСЛИ(B1<>"";СЧЁТЕСЛИ(B:B;"<"&B1&"*");"")
но здесь тоже есть подводные камни... Правильный вариант - в диапазоне значений все числа должны быть числами.Michael_S