К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

как перключить функцию если в екселе 97 на буквегные данные

Гость
0 - 21.06.2012 - 07:56
помогие обуздать эту функцию. Нужно отловить те строки в которых написано слово "сдано". функция "если" тока на цифры реагирует. 0 1, а что положено не желает делать. Пишет "знач"


Гость
1 - 21.06.2012 - 17:46
=СУММЕСЛИ(A:A;"сдано";D:D)
Гость
2 - 22.06.2012 - 11:52
Если опишете задач более подробно - подскажем как сделать универсальнее. В Excel97 отсутствует чрезвыйчайно удобная ф-я СУММЕСЛИМН сотоварищи, она позволяет выбирать что угодно откуда угодно и пол любым критериям. Сделать это можно также и на других формулах в старых версиях Excel, но геморройнее. Также незаслуженно забыты ф-ии БДСУММ, БДИЗВЛЕЧЬ итп, а между прочим на диком западе с них начинают изучение Excel...
Гость
3 - 22.06.2012 - 12:43
Необходимо на второй лист вывести все колонки из первого листа, в одном столбце которых есть чтото отличное от слова "сдано"
Гость
4 - 22.06.2012 - 16:09
Телепатирую (если не так - поправьте, колонка это синоним столбца, старайтесь не смешивать понятия):

1-лист
Математика 5 сдано
История 2 задолженность
Химия 1 задолженность


2-й лист - нужно получить формулами:
История 2 задолженность
Химия 4 задолженность

Если так, то:
1) задача м.б. решена формулой массива с в-ей ВПР
2) задача м.б. решена формулами ПРОСМОТР и ИНДЕКС
3) задача м.б. решена автофильтром или расширенным фильтром прямо на данном листе, для его сброса/возврата можно написать малюсенький макрос что будет все равно удобнее двух разных листов.
Выбирайте.
Гость
5 - 25.06.2012 - 04:11
На первом листе в первой колонке перечисляются шифры чертежей, на второй кто брал, а в третьей сдано или нет. Необходимо чтобы на второй лист выводило все строки в третьей колонке которых имеется чтото отличное от слова сдано.
1ым и вторым способом наверно будет лучше
Гость
6 - 25.06.2012 - 07:00
И хотелось бы чтобы при написании слова сдано на второй странице запись бы оттуда удалялась а на первой странице прописывалась с со словом сдано. Но думаю это фантастика
Гость
7 - 25.06.2012 - 07:02
Другими словами на первой странице общий журнал с историей а на втором листе то что не сдано (на руках)
Гость
8 - 25.06.2012 - 09:52
histor - Excel умеет очень многое, и даже то, чего от него никто не ожидает. В понедельник туго соображается и простые решения будут непоказательны (после поражения Англии грустно). Поэтому поумничаю, возможно кому-то еще пригодится.

Ну, в общем, вот "промышленное" решение - SQL запрос внутри XLS к самому себе (уровень не чайника, а скажем так, электрического самовара). Пример скачать здесь: http://narod.ru/disk/54088972001.4d3...0%B01.xls.html

...
Файл рассчитан на работу в корне диска D, если такого диска нет - придется корректировать строку подключения.

Итак, на листе БАЗА - есть именованны диапазон с именем BASE, сюда мы вносим данные - что и кто.

На другом листе - ОТЧЕТ - вставлен запрос (Данные - получить внешние данные - из других источников - из Microsoft Query - новый ист. данных - любое имя - Microsoft Excel Driver - Связь - Книга1.xls - откроется интерактивный построитель запросов, но если быть проще то можно просто сразу написать

SELECT * FROM BASE WHERE Статус<>'Сдано'

Этот запрос возвращает все столбцы (*) из таблицы BASE, где поле Статус не равно "Сдано".

Сам Excel, как обычно запрос немного подправит до такого (добавит имя таблицы и файла и незначащие скобки)

SELECT BASE.Код, BASE.ФИО, BASE.Статус
FROM `D:\Книга1`.BASE BASE
WHERE (BASE.Статус<>'Сдано')

Сразу скажу, что SQL мощнейшая штука по преобразованию таблиц, при этом крайне надежная и простая. Нет таких условия которые нельзя было бы реализовать. Более того, в запрос можно интерактивно считывать условия из самого Excel.

Запрос имеет кучу доп. параметров, важнейшим из которых является интервал обновления - в книге поставлено обновление ежеминутно.

Вопросы?!
Гость
9 - 26.06.2012 - 07:53
Стоит также помнить что сравнение в майкрософтовских движках баз данных/драйверах MSJET и ISAM регистрочувствительно. Т.е. сдано<>Сдано. И уж тем более сдано<>здано, а "здано" пишется элементарно по запарке. Поэтому лучше написать так:

WHERE (BASE2.Статус LIKE '_дано')

лайк означает содержит, а % - любая цепочка символов, а _ - один любой символ. Это позволяет найти даже такие строки: "Марьивановной была здано вовремя" с помощью конструкции LIKE '%дано%'. Только нужно помнить что подстрока дано не такая уж редкая, и может встретиться не там где надо.

Только в лучших традициях Microsoft - с помощью прямого инструмента (утилиты MS Query) это сделать не удастся в MSO2000/XP/2003/2007 и в нек-х ОС (Vista/7), придется щелкать прав. кн. мыши - св-ва вн. данных - св-ва подключ. - определ-е - и вот здесь уже можно править запрос ручками. Через жп, но править можно.
Гость
10 - 05.07.2012 - 06:14
Проверить удалось только сегодня. Пишет что источн к данных не найден и не указан драйвер используемый по умолчанию. Наверно нудно путь прописать другой, заместо диска D. Тока неразберусь где его прописывать?
Гость
11 - 05.07.2012 - 09:08
histor - "...источн к данных не найден и не указан драйвер используемый по умолчанию..." - значит вы его не создали или создали неправильно (см. п. 8 сло сов Итак...).

Скажите имя файла и путь где он лежит.

В целях совместимости лучше его назвать без пробелов и спецзнаков, и даже латиницей, типа C:\BASE\Biblio.xls
Гость
12 - 05.07.2012 - 10:45
C:\journal.xls
Гость
13 - 05.07.2012 - 15:04
Тогда так:

В C:\journal.xls есть лист БАЗА, на нем есть именованный диапазон с именем BASE, сюда мы вносим данные - что и кто.

На другом листе - ОТЧЕТ - вставлен запрос (Данные - получить внешние данные - из других источников - из Microsoft Query - новый ист. данных - journal - Microsoft Excel Driver - Связь - C:\journal.xls - Выбрать таблицу по умолчанию (BASE) - откроется MSQuery - щелкунть по звездочке в таблице вверху экрана (добавить все поля) - выбрать Файл-Вернуть данные в Excel - выбрать ячейку для вставки - данные отобразятся все - щелкнуть по той же ячейке прав кн мыши - Таблица - свйоства внеш данных - свойства подключения - Определение запроса - тест команды - вставить

SELECT BASE.Код, BASE.ФИО, BASE.Статус
FROM BASE BASE
WHERE (BASE.Статус<>'Сдано')

Мой пример вообще у вас заработал? Возможно из-за старого офиса или Windows у вас может что-то не заработает. Также возможно не хватит прав если ограниченная учетная запись.
Гость
14 - 06.07.2012 - 11:37
Пример заработал в корне диска D
Гость
15 - 06.07.2012 - 11:51
Если в базе в графе статус ничего не писать то в отчете это равносильно сдано. И еще такой вопрос. Можнт ли сделать чтобы запись сделанная на листе отчета переньсилась на лист базы, а при заполнении сдано строка удалялась из отчета а в базе прописывалось сдано?


К списку вопросов






Copyright ©, Все права защищены