将当前日期与选择和返回单元格地址匹配

时间:2015-10-07 15:27:54

标签: excel excel-formula excel-match

我有一行包含日期:

05/10/15    06/10/15    07/10/15    08/10/15    09/10/15    10/10/15    11/10/15
D3:J3

我有一个单元格(D5),其值如下:

=NOW()
//Returns "07/10/15"
//The cell is formatted to exclude time.

我有这个功能(E5):

=ADDRESS(3,MATCH(D5,D3:J3,0),1,4)

目的是将当前日期与给定选择中的日期相匹配并返回单元格地址。该功能不起作用,我不确定我缺少什么。

我添加了以下函数来检查值:

=IF(F3=D5,TRUE,FALSE)

这会返回FALSE,这可能是主要功能失败的原因之一。

NOW() != "07/10/15"

我该如何解决这个问题?

TODAY() == "07/10/15"解决了问题的一半

函数现在找到匹配但返回值C3,匹配日期为F3的值,这是我想要返回的值。

2 个答案:

答案 0 :(得分:1)

=ADDRESS(3,MATCH(D5,D3:J3,0),1,4)

首先是行号,由于您的数据在第3行,我输入3,但任何其他返回此值的公式也是好的(例如Row)

第二次您输入的值太多而不是matchMATCH(D5,D3:J3,0)会这样做。

第3但不确定我的now()用于时间戳,而today()仅用于日期。

答案 1 :(得分:1)

使用MATCH()时,它会给你一个相对于搜索数组开头的列位置。我只是将搜索数组扩展为从第一列开始,因此返回的相对列将准确地与ADDRESS()函数一起使用。所以,像这样:

= ADDRESS(3,MATCH(D5,A3:J3),1)

更新:好的,所以之前遗漏了所需的参数。我们需要在MATCH()上使用第三个参数来告诉它我们希望它完全匹配。另外,如果我们在ADDRESS()上输入“4”作为附加参数,那么它会使它更漂亮。所以,像这样:

$table->Rows(1)->Select;
$word->Selection->Columns(1)->{Width} = 200;