作为函数的一部分,如何将小数转换为等效时间?
How to convert a decimal into it's time equivalent as part of a function?
我 运行 在尝试比较两个 sheet 之间的数据以发现差异时遇到了问题 - 特别是在比较开始和结束时间时。
现在,我的屏幕截图中的“IF”语句执行得很好,除非涉及时间 - 它正在将这些单元格读取为小数(但只是有时)。
我已经尝试格式化这些单元格(在原始数据和这个“差异”报告上 sheet),以便它们显示为“HH:MM am/pm”时间,但是sheet 仍在比较十进制值。
有什么我可以添加到此函数中的,以说明比较值是时间而不是文本,并比较该文本是否存在任何差异?我无法对原始数据添加或更改任何内容 sheets,我唯一可以编辑的是我提供的屏幕截图中看到的公式。
请参阅我的屏幕截图中突出显示的单元格 - 这是我一直关注的问题 运行。正如您所看到的,有一些单元格(未突出显示的单元格)按预期执行,但我不确定为什么当我格式化所有内容时整个传播sheet 不是这种情况在整个 sheet.
中使用完全相同的公式
例如,单元格 N2 中的值在两个 sheet 上都是“8:00 AM”,因此公式应该只在该单元格中显示“8:00 AM”(并且不会突出显示)因为两个 sheet 之间的单元格没有差异,所以它正在比较。但是,相反,它将两个时间显示为小数,它们之间存在最细微的差异,并暗示在技术上没有(或不应该)存在的差异。
请帮忙!
Screenshot of original spreadsheet for reference
---编辑(添加以下内容):
这是一个示例 SHEET 的仅查看版本,它显示了我遇到的问题:
https://docs.google.com/spreadsheets/d/1BdSQGsCajB3kOnYxzM3sl-0o3iTvR3ABdHpnzYRXjpA/edit?usp=sharing
在示例 sheet 中,唯一按预期执行的单元格是 C2、E2、G2、I2、K2、K6 或包含“已关闭”等文本的任何单元格。在两个原始数据选项卡中都有时间的任何其他单元格似乎都在提取那些时间的序列号,而不是将其正确格式化为“HH:mm AM/PM”。
示例 SHEET 的设置方式快速浏览:
- 用户将原始数据输入“MicrositeRawData”和“SalesforceRawData”选项卡。
- 使用与“MicrositeRawData”sheet 中的唯一 ID 相匹配的查询,将数据从“SalesforceRawData”选项卡提取到“CleanedUpSalesforceData”选项卡中,因此它实际上创建了一个位于相同位置的选项卡排序并说明选项卡之间的任何无关数据(请记住,这是一个示例 sheet,我使用的原始 sheet 包含更多数据,这会导致 sheets 这使得 QUERY 成为必要)。
- “差异”选项卡然后比较“MicrositeRawData”和“CleanedUpSalesforceData”选项卡之间的数据。如果数据相同,它只是从“MicrositeRawData”单元格中复制数据。但是,如果数据不相同,它会列出来自两个 sheet 的值,并有条件地格式化以突出显示黄色的那些单元格。
- 如果“MicrositeRawData”选项卡上的数据不包含在“SalesforceRawData”选项卡中,“DISCREPANCIES”选项卡将注明并突出显示粉红色而不是黄色的“A”单元格(如中所示"A5").
在 B2 尝试:
=IF(MicrositeRawData!B2=CleanedUpSalesforceData!B2, MicrositeRawData!B2,
"MICROSITE: "&TEXT(MicrositeRawData!B2, "h:mm AM/PM")&CHAR(10)&
"SALESFORCE: "&TEXT(CleanedUpSalesforceData!B2, "h:mm AM/PM"))
更新
删除范围 B2:O10 中的所有公式并在 B2 中使用:
=ARRAYFORMULA(IF(TO_TEXT(MicrositeRawData!B2:O10)=
TO_TEXT(CleanedUpSalesforceData!B2:O10), MicrositeRawData!B2:O10,
"MICROSITE: "&TEXT(IF(MicrositeRawData!B2:O10="",
"", MicrositeRawData!B2:O10), "h:mm AM/PM")&CHAR(10)&
"SALESFORCE: "&TEXT(IF(CleanedUpSalesforceData!B2:O10="",
"", CleanedUpSalesforceData!B2:O10), "h:mm AM/PM")))
我 运行 在尝试比较两个 sheet 之间的数据以发现差异时遇到了问题 - 特别是在比较开始和结束时间时。
现在,我的屏幕截图中的“IF”语句执行得很好,除非涉及时间 - 它正在将这些单元格读取为小数(但只是有时)。
我已经尝试格式化这些单元格(在原始数据和这个“差异”报告上 sheet),以便它们显示为“HH:MM am/pm”时间,但是sheet 仍在比较十进制值。
有什么我可以添加到此函数中的,以说明比较值是时间而不是文本,并比较该文本是否存在任何差异?我无法对原始数据添加或更改任何内容 sheets,我唯一可以编辑的是我提供的屏幕截图中看到的公式。
请参阅我的屏幕截图中突出显示的单元格 - 这是我一直关注的问题 运行。正如您所看到的,有一些单元格(未突出显示的单元格)按预期执行,但我不确定为什么当我格式化所有内容时整个传播sheet 不是这种情况在整个 sheet.
中使用完全相同的公式例如,单元格 N2 中的值在两个 sheet 上都是“8:00 AM”,因此公式应该只在该单元格中显示“8:00 AM”(并且不会突出显示)因为两个 sheet 之间的单元格没有差异,所以它正在比较。但是,相反,它将两个时间显示为小数,它们之间存在最细微的差异,并暗示在技术上没有(或不应该)存在的差异。
请帮忙!
Screenshot of original spreadsheet for reference
---编辑(添加以下内容):
这是一个示例 SHEET 的仅查看版本,它显示了我遇到的问题: https://docs.google.com/spreadsheets/d/1BdSQGsCajB3kOnYxzM3sl-0o3iTvR3ABdHpnzYRXjpA/edit?usp=sharing
在示例 sheet 中,唯一按预期执行的单元格是 C2、E2、G2、I2、K2、K6 或包含“已关闭”等文本的任何单元格。在两个原始数据选项卡中都有时间的任何其他单元格似乎都在提取那些时间的序列号,而不是将其正确格式化为“HH:mm AM/PM”。
示例 SHEET 的设置方式快速浏览:
- 用户将原始数据输入“MicrositeRawData”和“SalesforceRawData”选项卡。
- 使用与“MicrositeRawData”sheet 中的唯一 ID 相匹配的查询,将数据从“SalesforceRawData”选项卡提取到“CleanedUpSalesforceData”选项卡中,因此它实际上创建了一个位于相同位置的选项卡排序并说明选项卡之间的任何无关数据(请记住,这是一个示例 sheet,我使用的原始 sheet 包含更多数据,这会导致 sheets 这使得 QUERY 成为必要)。
- “差异”选项卡然后比较“MicrositeRawData”和“CleanedUpSalesforceData”选项卡之间的数据。如果数据相同,它只是从“MicrositeRawData”单元格中复制数据。但是,如果数据不相同,它会列出来自两个 sheet 的值,并有条件地格式化以突出显示黄色的那些单元格。
- 如果“MicrositeRawData”选项卡上的数据不包含在“SalesforceRawData”选项卡中,“DISCREPANCIES”选项卡将注明并突出显示粉红色而不是黄色的“A”单元格(如中所示"A5").
在 B2 尝试:
=IF(MicrositeRawData!B2=CleanedUpSalesforceData!B2, MicrositeRawData!B2,
"MICROSITE: "&TEXT(MicrositeRawData!B2, "h:mm AM/PM")&CHAR(10)&
"SALESFORCE: "&TEXT(CleanedUpSalesforceData!B2, "h:mm AM/PM"))
更新
删除范围 B2:O10 中的所有公式并在 B2 中使用:
=ARRAYFORMULA(IF(TO_TEXT(MicrositeRawData!B2:O10)=
TO_TEXT(CleanedUpSalesforceData!B2:O10), MicrositeRawData!B2:O10,
"MICROSITE: "&TEXT(IF(MicrositeRawData!B2:O10="",
"", MicrositeRawData!B2:O10), "h:mm AM/PM")&CHAR(10)&
"SALESFORCE: "&TEXT(IF(CleanedUpSalesforceData!B2:O10="",
"", CleanedUpSalesforceData!B2:O10), "h:mm AM/PM")))