我有一行包含日期:
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
的值,这是我想要返回的值。
答案 0 :(得分:1)
=ADDRESS(3,MATCH(D5,D3:J3,0),1,4)
首先是行号,由于您的数据在第3行,我输入3,但任何其他返回此值的公式也是好的(例如Row)
第二次您输入的值太多而不是match
,MATCH(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;