【问题标题】:Copy the value in a range of cells to another cell if only one cell in the range has a value如果区域中只有一个单元格具有值,则将单元格区域中的值复制到另一个单元格
【发布时间】:2020-07-23 16:09:09
【问题描述】:

我有一系列单元格 M4:M18。在该单元格区域中是引用另一个表格的公式,在该单元格区域中将只有一个日期。我试图让那个日期填充到单元格 H12 中。这是我在 H12 中的公式:

=IF(COUNTA(M4:M18)=1,INDEX(M4:M18,MATCH("*",M4:M18,0)),"")

我也试过了:

=IF(COUNTIF(M4:M18,"?")=1,INDEX(M4:M18,MATCH("?",M4:M18,0)),"")

此公式在 H12 中返回一个黑色单元格。我阅读了关于同一问题的先前帖子,但我似乎无法使其正常工作。此范围内的第一个单元格可能为空。

任何帮助将不胜感激。

谢谢

M4:M18 ='Step 2 Triage_Tbl'!$Q3 格式为 m/d/yy;;""

and

【问题讨论】:

  • 这取决于.......是否 M4:M18 填充了公式,并且只有一个显示非空值,还是只有一个单元格包含公式? ?
  • 感谢您的回复。所有单元格都有一个用 IFERROR 包裹的公式,如果没有计算,则显示一个空白单元格。
  • 见下文。它可以定位非“空白”的数据

标签: excel excel-formula


【解决方案1】:

假设M4:M18 完全用公式填充,但只有一个公式提供数据,其他公式为空。这将定位数据:

=MATCH(TRUE,M4:M18<>"",0)

这将检索数据:

=INDEX(M4:M18,MATCH(TRUE,M4:M18<>"",0))

这适用于文本、数字或日期。

【讨论】:

  • 感谢您的回复,但是只有当日期出现在M4时才会返回日期。如果它不在 M4 中,我会得到 1/0/00。似乎它只查看第一个单元格而不检查范围的其余部分。
  • 您确定您的公式集返回的是 Null 而不是 空格字符 ???
  • @TMusky 我看到了真正的问题!M4 开头的单元格仅被格式化为出现为空,它们不是空的!
  • 经过一些测试,我发现只有填写正确的日期才会出现。例如,在您的工作表中,C2 将显示为 null,但如果我填写 C8,那么我会在单元格 C7 中看到“Gold”。
  • 你说得对,我正在使用自定义格式来防止 M4:M18 中的空单元格显示 1/0/00。
【解决方案2】:

OneDate UDF

在 VBE (ALT+F11) 中将模块插入工作表并将代码复制到其中。

在 Excel 中的单元格 H12 中键入 =OneDate(M4:M18)。如果尚未格式化,您可能需要将 H12 格式化为日期。

Option Explicit

Function OneDate(CheckRange As Range) As Date
    Dim rng As Range
    For Each rng In CheckRange
        If IsDate(rng.Value) Then OneDate = rng.Value: Exit For
    Next
End Function

您可能需要调整宏设置才能使其正常工作:

File > Options > Trust Center > Trust Center Settings > Macro Settings

【讨论】:

    【解决方案3】:

    要仅返回 M4:M18 范围内的一 (1) 个日期,请尝试..........

    N2,输入公式:

    =IF(COUNT(M4:M18)=1,INDEX(M4:M18,MATCH(1,INDEX(0+ISNUMBER(M4:M18),0),0)),"")
    

    【讨论】:

    • bosco_yip 感谢您的回复。当单元格区域中没有公式时,此公式非常有效。在我的电子表格中,范围 M4:M18 中包含以下公式:
    • 贴出你在M4:M18范围内使用的数据和公式。
    • 对于我的无知深表歉意,我是该网站的新手,不知道如何在 cmets 中正确发布公式和数据。
    • 点击第一篇文章最后一行下方的“编辑”,然后用Shift+Window键(在Ctrl和Alt之间)+S写下使用的公式和截图,复制粘贴到论坛
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    相关资源
    最近更新 更多