Вопрос по Excel

Компьютеры, программы, периферия, коммуникации, интернет, программирование и т.п. Ранее назывался Hard-n-Soft.
Сообщение
Автор
Гут

№ 0 Сообщение Гут » 07 апр 2007 19:22

Можно ли выполнить на пользовательском уровне, не обращаясь к др. прогам в Microsoft Excel?
Если можно, то дайте ссылку на подробную ( для Ч..) инструкцию про нижеописанную процедуру.
Нужно сделать такое:
В документе Excel «Док1.xls» есть данные в виде таблицы где в первом столбце одни значения, (цифры от 0,1 до 240,9, дискретность 0,1), а во втором столбце построчно соответствующие этим значениям другие значения (тоже кстати цифры но это наверное неактуально).
Одинаковых значений в таблице нет. Кол-во значений около 5000.
И нужно чтоб когда я в другом документе Excel «Док2.xls» заносится в одну ячейку (А1) известное мне значение, в другой ячейке (В1) этой же строки возвращалось соответствующее ему значение из «Док1.xls».
Короче нужно в «Док2.xls» в ячейку В1 вбить формулу чтоб включала поиск значения А1 в «Док1.xls», которое в первом столбце, а показывала значение из второго столбца.
Блин, вроде не запутался, извините, нет опыта изложения таких вещей.

TheJudge
Аватара пользователя
SVGA
Благодарил (а): 268 раз
Поблагодарили: 853 раза

№ 1 Сообщение TheJudge » 07 апр 2007 22:51

знаю как написать макрос под это дело, и то, придётся его каждый раз вызывать. Типа заполнили столбец в Док2, выполнили макрос, и во второй столбец значения нужные из Док1 скопировались.

других решений пока не вижу

Гут

№ 2 Сообщение Гут » 08 апр 2007 03:06

TheJudge :
> знаю как написать макрос под это дело
Макрос тоже пойдет. А че, удобнее чем каждый раз таблицу открывать и искать там нужную цифру. Я правда макросы писать не умею, могу создать через меню "написать макрос", (там кнопки "пуск" и "стоп"), но этот способ врядли подойдет.

deniska
Благодарил (а): 2 раза

№ 3 Сообщение deniska » 08 апр 2007 10:19

0: Гут
цифры от 0,1 до 240,9, дискретность 0,1
[голосом школьного учителя по математике]

Цифр известно всего 10: 0,1,2,3,4,5,6,7,8 и 9. Всё остальное, что из них состоит - это числа.
Кол-во значений около 5000.
Если 240,9 поделить на "дискретность" 0,1, то получим и количество значений = 2409, откуда 5000 - неясно.

Для решения этой задачи достаточно воспользоваться двумя встроенными функциями Excel:

1) ПОИСКПОЗ(Искомое_значение;Просматриваемый_массив;Тип_сопоставления),
где Искомое_значение - это (для приведённого примера) число от 0,1 до 240,9;
Просматриваемый_массив - это столбец в листе-источнике, где эти значния содержатся;
Тип_сопоставления = 0 ("Если тип_сопоставления равен 0, то функция ПОИСКПОЗ находит первое значение, которое в точности равно аргументу искомое_значение. Просматриваемый_массив может быть не упорядочен")

2) ИНДЕКС(Массив;Номер_строки;Номер_столбца)
Данная функция позволит нам из Массива (это будет соседний столбец, рядом с тем, где лежат числа от 0,1 до 240,9) выбрать элемент с Номером_строки (которую нам вернёт функция ПОИСКПОЗ) и Номером_столбца = 1

Если на листе # 1 в первом столбце идут числа 0,1..240,9, во втором столбце листа1 некие значения,
а в первом столбце листа2 стоит ключ для поиска (из диапазона 0,1..240,9), то чтобы вставить во 2-й столбец соответствующее значение из 2го столбца листа1, пишем следующую формулу:

=ИНДЕКС(Лист1!C;ПОИСКПОЗ(RC[-1];Лист1!C[-1];0);1)

Гут

№ 4 Сообщение Гут » 08 апр 2007 15:39

deniska :
> [голосом школьного учителя по математике]
:) Не придирайтесь мистер учитель, этоя так.... образно. Ну типа "многа букафф".
По поводу ~5000 это я имел ввиду значения и в первом и во втором столбце.
За дельные рекомендации - спасибо, сегодня влом, завтра применю на практике, возможно по ходу возникнут еще вопросы.

МИХАН

№ 5 Сообщение МИХАН » 09 апр 2007 19:39

Гут :

Да вроде не нужно огород городить. Функция ВПР вполне справится.
ВПР - Ищет значение в крайнем левом столбце таблицы и возвращает значение в той же строке из указанного столбца таблицы.

Синтаксис

ВПР(искомое_значение;таблица ;номер_столбца ;интервальный_просмотр)

Искомое_значение — это значение, которое должно быть найдено в первом столбце массива . Искомое_значение может быть значением, ссылкой или текстовой строкой.

Таблица — таблица с информацией, в которой ищутся данные. Можно использовать ссылку на интервал или имя интервала, например БазаДанных или Список.

Если интервальный_просмотр имеет значение ИСТИНА, то значения в первом столбце аргумента «таблица» должны быть расположены в возрастающем порядке: ..., -2, -1, 0, 1, 2, ..., A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ВПР может выдать неправильный результат. Если «интервальный_просмотр» имеет значение ЛОЖЬ, то «таблица» не обязана быть отсортированной.

Данные можно упорядочить следующим образом: в меню Данные выбрать команду Сортировка и установить переключатель По Возрастанию.

Значения в первом столбце аргумента «таблица» могут быть текстовыми строками, числами или логическими значениями.

Текстовые строки сравниваются без учета регистра букв .

Номер_столбца — это номер столбца в массиве «таблица», в котором должно быть найдено соответствующее значение. Если «номер_столбца» равен 1, то возвращается значение из первого столбца аргумента «таблица»; если «номер_столбца» равен 2, то возвращается значение из второго столбца аргумента «таблица» и так далее. Если «номер_столбца» меньше 1, то функция ВПР возвращает значение ошибки #ЗНАЧ!; если «номер_столбца» больше, чем количество столбцов в аргументе «таблица», то функция ВПР возвращает значение ошибки #ССЫЛ!.

Интервальный_просмотр — это логическое значение, которое определяет, нужно ли, чтобы ВПР искала точное или приближенное соответствие. Если этот аргумент имеет значение ИСТИНА или опущен, то возвращается приблизительно соответствующее значение; другими словами, если точное соответствие не найдено, то возвращается наибольшее значение, которое меньше, чем искомое_значение. Если этот аргумент имеет значение ЛОЖЬ, то функция ВПР ищет точное соответствие. Если таковое не найдено, то возвращается значение ошибки #Н/Д.
Короче в ячейку В1 забиваешь эту формулу:
=ВПР(A1;[Книга1.xls]Лист1!$A$1:$B$2409;2;0)

Вместо[Книга1.xls] вставишь название своего файла.

Гут

№ 6 Сообщение Гут » 13 апр 2007 06:01

Ниче не выходит!
А где бы мне эти файлы для общего просмотра (скачивания для правки) разместить?
А может это дело на емейл кто получить согласится?

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 8 Сообщение djdance » 16 апр 2009 01:56

тут знатоки экселя собрались, я смотрю.
каак-то можно закрепить более чем top+left стороны листа? например, bottom или отдельную строку прям посередине?

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 9 Сообщение Burg » 16 апр 2009 10:28

8: djdance:
Можно :)

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 10 Сообщение djdance » 16 апр 2009 10:31

9: Burg:
каг

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 11 Сообщение Burg » 16 апр 2009 12:19

10: djdance:

Freeze panes to lock specific rows or columns

On the worksheet, do one of the following:
To lock rows, select the row below where you want the split to appear.
To lock columns, select the column to the right of where you want the split to appear.
To lock both rows and columns, click the cell below and to the right of where you want the split to appear.
How to select cells, ranges, rows, or columns

To select Do this
A single cell Click the cell, or press the arrow keys to move to the cell.
A range of cells Click the first cell in the range, and then drag to the last cell, or hold down SHIFT while you press the arrow keys to extend the selection.
You can also select the first cell in the range, and then press F8 to extend the selection by using the arrow keys. To stop extending the selection, press F8 again.

A large range of cells Click the first cell in the range, and then hold down SHIFT while you click the last cell in the range. You can scroll to make the last cell visible.
All cells on a worksheet Click the Select All button.


To select the entire worksheet, you can also press CTRL+A.

Note If the worksheet contains data, CTRL+A selects the current region. Pressing CTRL+A a second time selects the entire worksheet.


Nonadjacent cells or cell ranges Select the first cell or range of cells, and then hold down CTRL while you select the other cells or ranges.
You can also select the first cell or range of cells, and then press SHIFT+F8 to add another nonadjacent cell or range to the selection. To stop adding cells or ranges to the selection, press SHIFT+F8 again.

Note You cannot cancel the selection of a cell or range of cells in a nonadjacent selection without canceling the entire selection.

An entire row or column Click the row or column heading.


Row heading

Column heading


You can also select cells in a row or column by selecting the first cell and then pressing CTRL+SHIFT+ARROW key (RIGHT ARROW or LEFT ARROW for rows, UP ARROW or DOWN ARROW for columns).

Note If the row or column contains data, CTRL+SHIFT+ARROW key selects the row or column to the last used cell. Pressing CTRL+SHIFT+ARROW key a second time selects the entire row or column.

Adjacent rows or columns Drag across the row or column headings. Or select the first row or column; then hold down SHIFT while you select the last row or column.
Nonadjacent rows or columns Click the column or row heading of the first row or column in your selection; then hold down CTRL while you click the column or row headings of other rows or columns that you want to add to the selection.
The first or last cell in a row or column Select a cell in the row or column, and then press CTRL+ARROW key (RIGHT ARROW or LEFT ARROW for rows, UP ARROW or DOWN ARROW for columns).
The first or last cell on a worksheet or in a Microsoft Office Excel table Press CTRL+HOME to select the first cell on the worksheet or in an Excel list.
Press CTRL+END to select the last cell on the worksheet or in an Excel list that contains data or formatting.

Cells to the last used cell on the worksheet (lower-right corner) Select the first cell, and then press CTRL+SHIFT+END to extend the selection of cells to the last used cell on the worksheet (lower-right corner).
Cells to the beginning of the worksheet Select the first cell, and then press CTRL+SHIFT+HOME to extend the selection of cells to the beginning of the worksheet.
More or fewer cells than the active selection Hold down SHIFT while you click the last cell that you want to include in the new selection. The rectangular range between the active cell (active cell: The selected cell in which data is entered when you begin typing. Only one cell is active at a time. The active cell is bounded by a heavy border.) and the cell that you click becomes the new selection.

Tip To cancel a selection of cells, click any cell on the worksheet.

On the View tab, in the Window group, click Freeze Panes, and then click the option that you want.


Note When you freeze panes, the Freeze Panes option changes to Unfreeze Panes so that you can unlock frozen rows or columns.

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 12 Сообщение Burg » 16 апр 2009 12:21

Что-то много получилось... выделено подчерком путь по менюшкам.

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 13 Сообщение djdance » 16 апр 2009 12:24

11: Burg:
и где здесь про закрепление более чем лево-верха, а также любой строки по центру или низа экрана?

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 14 Сообщение Burg » 16 апр 2009 12:29

То что ты говоришь делал через Pivot Table.

Я смысл не совсем понимаю, если честно.

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 15 Сообщение djdance » 16 апр 2009 12:35

14: Burg:
>Pivot Table

не совсем то. громоздко, неудобно, модифицируемость через пень-колоду.

>Я смысл не совсем понимаю
смысл закрепления top+left ясен же.
ну и остальные стороны по той же причине. Для помещения в поле зрения некоей статичной инфы по столбцам-строкам.

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 16 Сообщение Burg » 16 апр 2009 13:53

15: djdance:
Нашел только выделение цветом в обычной табличке... Денс, будь проще :D

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 17 Сообщение djdance » 16 апр 2009 13:55

16: Burg:
будь проще - это свою морду аксессе что ли писать?
ну да.. просто это долго и труднопереносимо.

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 18 Сообщение Burg » 16 апр 2009 13:56

Придумай способ представления информация, который не потребует таких извратов...

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 19 Сообщение djdance » 16 апр 2009 15:23

18: Burg:
с чего grid в рамке стал для тебя извратом?

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 20 Сообщение Burg » 16 апр 2009 15:39

Потому что мне не понятно, почему нельзя использовать стандартные слева-сверху.

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 21 Сообщение djdance » 16 апр 2009 15:42

20: Burg:
а где написать, например, прикрепленные пояснения?
слева внизу, столбиком? :D или сверху шапкой? :D

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 22 Сообщение Burg » 16 апр 2009 15:43

21: djdance:
Для этого придуманы сноски, которые открываются при наведение на уголок ячейки.

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 23 Сообщение djdance » 16 апр 2009 15:47

22: Burg:
не-е, вот уж изврат, эти сноски.
ты еще xlt предложы юзать.

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 24 Сообщение Burg » 16 апр 2009 15:49

Ну я конечно понимаю, ты весь такой нестандартный... Могу написать небольшую программку, которая будет тебе делать то, что ты хочешь... Без Exсel-я, но за большие деньги :D

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 25 Сообщение djdance » 16 апр 2009 15:50

24: Burg:
см № 17 :P

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 26 Сообщение Burg » 16 апр 2009 16:10

25: djdance:
см №18 :kos:

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 27 Сообщение djdance » 16 апр 2009 16:12

26: Burg:
см № 21, и без сносок.

Burg
Аватара пользователя
Зок-модератор
Благодарил (а): 14 раз
Поблагодарили: 138 раз

№ 28 Сообщение Burg » 16 апр 2009 17:00

27: djdance:
Два сапога с Мартином пара :D Объясни что ты подразумеваешь под "прикрепленными пояснениями"?

djdance
Аватара пользователя
Благодарил (а): 1 раз
Поблагодарили: 4 раза

№ 29 Сообщение djdance » 16 апр 2009 17:03

28: Burg:
ну и ладно, не знаешь так не знешь

Вернуться в «Компьютерный форум»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей