Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 查找行中的最后一个值_Excel_Excel Formula - Fatal编程技术网

Excel 查找行中的最后一个值

Excel 查找行中的最后一个值,excel,excel-formula,Excel,Excel Formula,我有一行包含四个单元格的数据集;港口代码、距离覆盖、到达时间和离开时间。距离替代列可以为空 这个想法是用列表中的第一个和最后一个端口填充F列和G列(以用户表单的形式提供给过滤系统,这让我无法理解,我现在不想去想它) 列F中的单元格是对列H的简单引用。我使用(=LOOKUP(2,1/(3:3“”),3:3))中的方法来获取行中的最后一个值,这很好。不幸的是,最后一个值是出发时间,而我需要的是港口代码。我尝试在公式中的几个不同位置添加-3,但似乎无法成功 我可以调整列的顺序以将端口代码放在末尾,但

我有一行包含四个单元格的数据集;港口代码、距离覆盖、到达时间和离开时间。距离替代列可以为空

这个想法是用列表中的第一个和最后一个端口填充F列和G列(以用户表单的形式提供给过滤系统,这让我无法理解,我现在不想去想它)

列F中的单元格是对列H的简单引用。我使用(
=LOOKUP(2,1/(3:3“”),3:3)
)中的方法来获取行中的最后一个值,这很好。不幸的是,最后一个值是出发时间,而我需要的是港口代码。我尝试在公式中的几个不同位置添加
-3
,但似乎无法成功

我可以调整列的顺序以将端口代码放在末尾,但我希望保持原样,因为任务规范规定了此顺序


有人能帮忙吗?

我的评论与其说是一个完整的解决方案,不如说是一个建议,但如果这就是你解决问题所需要的全部,那么我将把它作为一个答案发布

要获取行/列中的最后一个条目,快速解决方案是匹配。就你而言:

get the last numerical value: =MATCH(1E+99,3:3)
get the last string:          =MATCH("zzz",3:3)
它的工作方式也非常简单:
MATCH
只需在所有单元格中循环,直到找到一个与第一个选项或第二个选项的搜索项相同或更大的值,直到找到一个完美匹配项或一个将在搜索项后“排序”的字符串。假设范围内没有可能的匹配,它将指向可以比较的最后一个单元格(作为数值)。但是,如果在整个范围内找不到任何内容(第一个选项没有数字,第二个选项没有字符串),则这两个公式都将出错,同时请记住,
=”
(空字符串)仍将计为字符串。
如果整个范围内可能没有其中一项,则需要完整期限:

=MAX(IFERROR(MATCH("zzz",A:A),0),IFERROR(MATCH(1E+99,A:A),0))
但是,这将只返回最后一列作为数字。要获得该值,只需将其放入
索引中,如下所示:

=INDEX(3:3,1,MAX(IFERROR(MATCH("zzz",A:A),0),IFERROR(MATCH(1E+99,A:A),0)))

如果您还有任何问题,请提问;)

我的评论与其说是一个完整的解决方案,不如说是一个建议,但如果这就是你解决问题所需要的全部,那么我将把它作为一个答案发布

要获取行/列中的最后一个条目,快速解决方案是匹配。就你而言:

get the last numerical value: =MATCH(1E+99,3:3)
get the last string:          =MATCH("zzz",3:3)
它的工作方式也非常简单:
MATCH
只需在所有单元格中循环,直到找到一个与第一个选项或第二个选项的搜索项相同或更大的值,直到找到一个完美匹配项或一个将在搜索项后“排序”的字符串。假设范围内没有可能的匹配,它将指向可以比较的最后一个单元格(作为数值)。但是,如果在整个范围内找不到任何内容(第一个选项没有数字,第二个选项没有字符串),则这两个公式都将出错,同时请记住,
=”
(空字符串)仍将计为字符串。
如果整个范围内可能没有其中一项,则需要完整期限:

=MAX(IFERROR(MATCH("zzz",A:A),0),IFERROR(MATCH(1E+99,A:A),0))
但是,这将只返回最后一列作为数字。要获得该值,只需将其放入
索引中,如下所示:

=INDEX(3:3,1,MAX(IFERROR(MATCH("zzz",A:A),0),IFERROR(MATCH(1E+99,A:A),0)))

如果您还有任何问题,请提问;)

如果最后一个值是数字,或者文本使用
=MATCH(1E+99,3:3)
(或者用
MAX
将两者独立包装)。而且这应该快得多。要获得值(
MATCH
返回列号),只需将其放入
索引中,如
=INDEX(3:3,1,MATCH(1E+99,3:3))
;)@DirkReichel你为什么不把它作为一个答案?我唯一需要调整的是,我不会使用3:3,而是在范围的每一端添加列字母,以防稍后在右侧的列中添加一些文本。啊,太好了。我不知道它为什么会起作用——以前没有见过“zzz”用作通配符——但它确实起作用。如果你想把它作为答案贴出来,我会打勾的。我正在使用
=INDEX(3:3,1,MATCH(“zzz”,3:3))
并得到正确的答案。它不是通配符,“zzz”是一个排序在其他字符串之后的字符串,如果数据中有zzz,请添加更多的z。当MATCH未找到精确匹配时,默认值是返回范围中的最后一项,在本例中为最后一个字符串。所以,如果你们3:3中的所有数据都是数字的,除了Port,那么Dirk有你们的答案。我想复制并粘贴dirks评论作为答案,这样问题就会显示为已回答,但我不能为他的工作赢得荣誉。至于鬼鬼祟祟,这只是Excel鬼鬼祟祟冰山的一角!如果最后一个值是数字,或者文本使用
=MATCH(1E+99,3:3)
(或者用
MAX
将两者独立包装)。而且这应该快得多。要获得值(
MATCH
返回列号),只需将其放入
索引中,如
=INDEX(3:3,1,MATCH(1E+99,3:3))
;)@DirkReichel你为什么不把它作为一个答案?我唯一需要调整的是,我不会使用3:3,而是在范围的每一端添加列字母,以防稍后在右侧的列中添加一些文本。啊,太好了。我不知道它为什么会起作用——以前没有见过“zzz”用作通配符——但它确实起作用。如果你想把它作为答案贴出来,我会打勾的。我正在使用
=INDEX(3:3,1,MATCH(“zzz”,3:3))
并得到正确的答案。它不是通配符,“zzz”是一个排序在其他字符串之后的字符串,如果数据中有zzz,请添加更多的z。当MATCH未找到精确匹配时,默认值是返回范围中的最后一项,在本例中为最后一个字符串。所以,如果3:3中的所有数据都是数字,除了端口,那么Dirk有你的答案。我想复制并粘贴dirks注释作为答案,这样问题就会显示为已回答,