【问题标题】:Conditional data entry on certain text in excelexcel中某些文本的条件数据输入
【发布时间】:2014-08-13 21:09:17
【问题描述】:

我正在寻找一些指示。

我想根据其他单元格的内容在某些单元格中输入文本。

我在单元格 B1 中使用的当前公式是

=IF(ISERROR(FIND("example",A1)),"no","yes")

到目前为止,一切都很简单。这行得通。如果“示例”位于单元格 A1 中,则在 B1 中输入“是”,向下复制。 但是,B 列中有一些单元格已经用其他文本格式化,我想在整个电子表格上应用这个公式而不删除 B 列中的现有文本。到目前为止,我唯一能想到的是将这个公式放在 C 列中,向下复制然后将文本从 C 列移动到 B 列 - 但这需要费力的复制和粘贴,这样会抵消公式提供的时间节省。

实现这一目标的最佳方法是什么?我是否需要借助 VB 扫描整个工作表,遍历 A1-A30000 并在 B 列中插入必要的文本?

干杯。

编辑:

所以,这已经被整理得差不多了,有各种各样的建议。

但是,我使用的实际公式是:

=IF(ISERROR(FIND("example",A1)),"","yes")

因为我只想在找到模式时将文本放入 columnB。这又带来了一个问题!如果未找到模式实际上在其中插入了“NULL”字符,则双引号表示不替换;当您尝试在下一次操作迭代中选择空白单元格时,不会选择任何单元格,因为即使没有可见字符,Excel 也会认为存在。 xD

这可以通过编写一个宏函数来删除 Null 字符来解决。

Excel 有时令人愤怒。 :P

【问题讨论】:

    标签: excel function


    【解决方案1】:

    已经提供的所有信息和建议都绝对正确,并且可以完成工作, 字节认为我会添加一个不需要对现有数据进行任何更改(例如排序或过滤)的数据:

    将您描述的公式放在单元格 B1 中。根据需要向该单元格应用任何条件格式。

    现在选择并复制 (ctrl+C) 单元格 B1。选择 B 列(单击列标题)。 然后单击find and Select(双筒望远镜图标) - 在Home 功能区选项卡上。选择go to Special

    在弹出窗口中选择Blanks 并单击确定。您会注意到 B 列中的所有空白单元格都被选中。不要点击任何东西,按Crtl-V

    瞧,您的公式和条件格式已粘贴到所有空白单元格中,剩下的就不用管了。


    快速键盘顺序:

    • 选择 B1
    • 按“Ctrl + C”
    • Ctrl + ‘空格键’
    • 按“Ctrl + G”
    • 按两次 Tab 转到“特殊...”按钮,按 Enter
    • 按“K”输入空格,按 Enter
    • 按“Ctrl + V”
    • (可选)按 Esc 从 B1 中删除选择

    【讨论】:

    • 非常好!谢谢。我认为这可能是最有效的。这并不是说其他​​答案没有那么有用,因为我已经从他们所有人那里学到了一些东西。道具!
    • 只是为了检查我是否使用了最有效的方法来重复这个过程 - 选择 columnB,CTRL-C,右键单击,粘贴特殊值。然后,这将清空未计算公式的单元格。
    • -> 选择 B1 -> 按 'Ctrl + C' -> Ctrl + '空格键' -> 按 'Ctrl + G' -> 按两次 Tab 转到'Special...' 按钮,按 Enter -> 按 'K' 输入空格,按 Enter -> 按 'Ctrl + V' ->(可选)按 Escape 从 B1 中删除选择
    • 对不起,我误会了:如果您希望结果显示空单元格而不是错误,您总是在其周围添加=IFERROR(your-formula,""),并避免特殊复制粘贴?
    • 或坚持使用键盘:选择 B 列、CTRL-C、CTRL-Alt-V、V、回车、转义(我有一个宏,它执行“粘贴值”保存在我的 Personal. xlsb,分配了 ctrl-shift-v kayboard 快捷键)
    【解决方案2】:

    有几种方法可以解决这个问题。我将解释其中的两个:

    1. 如果可以选择排序,请按 B 列(升序/A-Z)对表格进行排序,以获取顶部的所有空值。在第一个空白单元格中写下您的公式,然后通过双击该单元格的右下角来扩展它。

    2. 如果您无法排序,请对表格应用过滤器并选择 B列中的空白单元格。然后在第一个空白单元格中写入公式并通过向下拖动到最后一个单元格来扩展它。

    【讨论】:

    • 感谢您的建议。双击方法似乎是完成任务的最快方法。我可以对其进行排序,但是当我对“值”进行排序时,它只能让我选择 A-Z 或 Z-A。我找对地方了吗?
    • 即使有 160,000 行,这也是非常可行的;如果我们在 95 年,或者您有 5,000,000 行和一个非常复杂的公式,我会担心。
    • 道歉 - 我刚刚编辑了我的评论。我没有为你的快速回复做好准备:)
    • 是的,您来对地方了。 A-Z 是上升的;也许不应该使用技术术语。
    • 感谢 Bernard - 虽然 A-Z 排序似乎没有将空白单元格放在此工作表的顶部,但此解决方法似乎有效:转到数据底部,CTRL-SHIFT-UPARROW > 柱顶; CTRL-G;特别的;空白;填充颜​​色。然后按颜色排序,然后是建议 1。感谢您为我指明正确的方向!
    【解决方案3】:

    您可以将现有的 B 列值与有条件地添加到单个公式中的值组合在一起,例如在 ColumnC 中,例如:

    =IF(ISBLANK(B1),IF(ISERROR(FIND("example",A1)),"no","yes"),B1)  
    

    复制下来以适应。然后,如果 ColumnB 变得多余,则将 ColumnC、选择性粘贴、Values 复制到顶部并删除 ColumnB。结果是将公式转换为其结果,这可能会提高处理速度,但会降低处理符合相同要求的其他行(如果有的话)的便利性。

    【讨论】:

    • 你是对的。也许条件格式不正确。条件数据输入可能吗?我不确定正确的 excel 术语。也就是说,这似乎是另一个可行的答案,谢谢!我会尝试两者,看看我的表现如何:)
    • 哎呀抱歉没有看到这个答案 - 我会删除我的。
    • 我唯一的额外建议是,您可以保留公式并完全隐藏 B 列,而不是复制->选择性粘贴。但不会保留任何格式。
    猜你喜欢
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多