Поиск дней между датами, когда строка содержится в другом листе

0

У меня есть 2 листа Excel, один называется «Инвентарь», а другой - «BookDetails»

«Инвентарь» содержит все проданные книги и дату их продажи.
«BookDetails» содержит все книги и дату их сканирования

«Inventory» имеет более короткое имя заголовка, в то время как «BookDetails» содержит дополнительную информацию рядом с заголовком.

пример:

(Inventory)
Inventory

(BookDetails)
BookDetails

я хочу найти время в днях между сканированием и продажей книги и поместить значение в новый столбец «Инвентаризация». В моем файле слишком много, чтобы сделать вручную.

Я предполагаю, что это по линии

If(BookDetails!A:A 'contains' Inventory!A2){

 BookDetails!DateScanned - Inventory!DateSold

}
Luke Stephen Harris
источник
У вас есть это в том же файле, как два листа, или это два отдельных файла?
Prasanna
Для вашего заявления If, вы можете попробовать Countif(), If Countif(Bookdetails!A:A,"*"&Inventory!A2&"*") > 0 Then ... который будет искать в диапазоне A: A BookDetails то, что находится в инвентаре A2. Обратите внимание, что я использую подстановочные знаки, поэтому, если в A2 есть «человек», счетчик попадет, если в A: A есть «супермен», «человек», «мандибулы» и т.д. поэтому вы можете изменить / удалить шаблон (вы можете удалить его полностью, если ищете точное совпадение).
BruceWayne
сделать описание обложки книги paperback а также hardcover всегда в квадратных скобках [..]? Потому что, если они согласованы, мы должны удалить их, а затем сравнить с заголовком, который совпадает с заголовком на странице изобретателя.
Prasanna
Могу ли я предположить, что между списками нет соответствия 1: 1 (другой порядок, несоответствующее количество записей, если элемент еще не был отсканирован или, скажем, 5 было продано и 1 было отсканировано в каждую из нескольких разных дат )?
fixer1234
Кажется, что логическое место для расчета и отображения интервала будет в BookDetails, в столбце рядом с датой сканирования. Это то, что вы предполагаете, или вам нужно это на третьем листе, как подразумевает ваш пример с псевдокодом?
fixer1234

Ответы:

0

В вашем инвентарь Лист, используйте формулу, такую ​​как эта, чтобы найти дату сканирования в BookDetails затем вычислите разницу между этой датой и датой продажи:

= В2-ВПР (А2, BookDetails A: D, 4, FALSE)

Предполагается, что B2 содержит проданную дату и столбцы A: D в BookDetails лист содержит книгу, автора, издателя и дату сканирования. Очевидно, вам нужно настроить. Значение третьего аргумента (4) указывает индекс для столбца, содержащего дату сканирования (четвертый столбец).

DeltaHotel
источник
Вопрос двусмысленный, но, похоже, может быть несколько записей BookDetails для каждой записи инвентаризации. Похоже, что лучше всего сделать это на листе BookDetails. Разберите заголовок, используя «[», затем выполните поиск на листе инвентаризации.
fixer1234
не лучший в объяснении, но я попробую еще раз, тем не менее. bookdetails содержит 1555 книг (которые были проданы или не проданы). Инвентарь содержит только книги, которые были проданы в Интернете (около 120 книг). к сожалению, для каждой книги нет уникального идентификатора (что скоро станет проблемой), но в настоящий момент мы можем предположить, что все 1555 книг имеют уникальные названия. все, что мне нужно, это сравнить названия книги, чтобы получить дату ее сканирования.
Luke Stephen Harris
Исходя из того, что вы описали, если вы хотите, чтобы «Дни после сканирования» были указаны в вашем листе инвентаризации, предложенное мной решение VLookup () должно работать. Вы пробовали этот метод?
DeltaHotel