gpt4 book ai didi

excel - 将 IF(带 ISTEXT、FIND、MID 以将日期转换为正确格式)语句转换为自定义 VBA 函数

转载 作者:行者123 更新时间:2023-12-04 20:19:53 24 4
gpt4 key购买 nike

我从一位不使用一致日期格式的同事那里收到了一份工作簿。下面的 IF 语句概述了我尝试创建单个 IF 语句的思考过程,该语句可以使用 MID 和 FIND 将字符串或数字转换为正确的日期格式:

=IF(ISTEXT(F49),MID(F49, FIND("/",F49)+1, FIND("/",F49, FIND("/",F49)+1)-FIND("/",F49)-1)&"/"&LEFT(F49,FIND("/",F49,1)-1)&"/"&RIGHT(F49,2),TEXT(F49,"dd/mm/yy"))

当谈到 VBA 时,我有点新手,我想创建一个自定义函数来实现上面 IF 语句中概述的步骤。任何帮助/指导将不胜感激。

谢谢,

GG

最佳答案

看起来您正在将欧洲日期转换为美国本地日期。有几种方法可以做到这一点:

a) VBA 函数 [例如=转换日期(F49)]:

Function ConvertDates(ValueDate As Range)
Dim Dates() As String
Dates = Split(ValueDate.Text, "/")
ConvertDates = Dates(1) & "/" & Dates(0) & "/" & Dates(2)
End Function

b) 表格公式(简化版):
=IF(ISTEXT(F49),MID(F49,4,3)&REPLACE(F49,4,5,""),TEXT(F49,"dd/mm/yy"))

c) 选择列中的日期并选择:

数据 > 文本到列 > 下一个 > 下一个 > 列数据格式:DMY

我认为第三个选项可能最快,因为您不需要创建新列。

关于excel - 将 IF(带 ISTEXT、FIND、MID 以将日期转换为正确格式)语句转换为自定义 VBA 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9718832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com