jcyxxx 发表于 2023-9-27 11:00

Excel求指教,如何根据输入的日期,返回对应数值


如图,
假如说我想让:
日期<2023-10-1的时候,返回10
2023-10-1≤日期<2024-10-1的时候,返回20
2024-10-1≤日期<2025-10-1的时候,返回30
2025-10-1≤日期<2026-10-1的时候,返回40
2026-10-1<日期的时候,返回50

这样的公式咋写啊?
有没有excel大神指点一下

maybezp 发表于 2023-9-27 11:04

1.不嫌麻烦写if,
2.日期本质上都是序数,找数字规律也可以

gnihton314 发表于 2023-9-27 11:08

excel的日期是个数字,直接加减运算就行

arikado 发表于 2023-9-27 11:12

高版本的excel可以直接用=ifs(第一个条件,为真时候的值,第二个条件,为真时候的值……)这样。
把日期随便填到一个单元格里然后把单元格格式转成数字就能看到日期对应的数值了。然后就用大于小于判断就行了。

瓦格雷 发表于 2023-9-27 11:17

=ifs(单元格<45200,10,单元格<45566,20,单元格<45931,30,40)

单元格换成你需要判断的格子

RJG丶one 发表于 2023-9-27 11:28

日期在A1

=ifs(datevalue(A1)<=datevalue("2023-10-01"),10,
       datevalue(A1)<=datevalue("2024-10-01"),20,
       datevalue(A1)<=datevalue("2025-10-01"),30,
       datevalue(A1)<=datevalue("2026-10-01"),40,
       datevalue(A1)>=datevalue("2026-10-01"),50)

diohanmilton 发表于 2023-9-27 11:31

火樹銀華 发表于 2023-9-27 12:31

ChatGPT:

在Excel中,你可以使用IF函数和日期函数来实现这样的公式。下面是一个示例公式:

```
=IF(A1<DATE(2023,10,1), 10, IF(A1<DATE(2024,10,1), 20, IF(A1<DATE(2025,10,1), 30, IF(A1<DATE(2026,10,1), 40, 50))))
```

假设日期值位于单元格A1中,上述公式将根据日期的范围返回相应的值。请确保日期格式正确,以便函数正确运算。

这个公式使用了嵌套的IF函数来判断日期的范围,并返回相应的值。每个IF函数的条件部分都检查日期是否在指定的范围内,如果是,则返回相应的值。最后一个IF函数没有范围限制,将返回默认值 50,适用于大于2026-10-1的所有日期。

你可以将这个公式应用于其他单元格,并根据需要调整日期范围和返回值。

—— 来自 Xiaomi M2102J2SC, Android 12上的 S1Next-鹅版 v2.5.4

kunimihiro 发表于 2023-9-27 12:33

感觉楼主这类问题应该用lookup函数更合理

win8 发表于 2023-9-27 12:51

这玩意不应该用时间做减法然后乘10吗?

jcyxxx 发表于 2023-9-28 18:23

RJG丶one 发表于 2023-9-27 11:28
日期在A1

=ifs(datevalue(A1)

感谢,我觉得的你这个最简单易懂,我当时已经知道ifs函数了,但是我不知道为啥中间部分我写“2023-10-1≤A1<2024-10-1”的时候总是报错,原来是按顺序从左往右依次判断的,省掉前半就对了。
页: [1]
查看完整版本: Excel求指教,如何根据输入的日期,返回对应数值