Newyorkcity
V2EX  ›  问与答

请问 excel 中如何实现在列名为交易类型的列中,把所有值为“支出”的这一行在另一个列“金额”下的数值取负?

  •  
  •   Newyorkcity · Aug 25, 2017 · 1898 views
    This topic created in 3218 days ago, the information mentioned may be changed or developed.
    再问个问题,筛选的情况下筛选出的数据,如果把它们选定,两个数据之间,没有满足筛选条件而看不见的数据,是不是实际上也被选中了,有没有办法不这样呢?
    谢谢!~
    9 replies    2017-08-26 08:01:41 +08:00
    piku
        1
    piku  
       Aug 25, 2017 via Android
    问题 1 用公式把金额正负到另一列,然后复制粘贴到正确列
    问题 2 取决于 excel 版本和筛选结果复杂程度。我平时用 2016 基本能正确隔行复制
    rosu
        2
    rosu  
       Aug 25, 2017 via Android
    用 VB 写个小程序应该挺快的。
    读取每个单元格,然后取反粘贴到另一个单元格。
    Newyorkcity
        3
    Newyorkcity  
    OP
       Aug 25, 2017
    @piku 请问这里这个 If A2=转出该怎么写啊,if 的判断语句好像不支持字符串

    @rosu excel 2016 我连 VB 怎么打开都不知道了。。
    rosu
        4
    rosu  
       Aug 25, 2017 via Android
    @Newyorkcity Google 一下你就知道。
    rosu
        5
    rosu  
       Aug 25, 2017 via Android
    @Newyorkcity 这个功能就 宏
    rosu
        6
    rosu  
       Aug 25, 2017 via Android
    @rosu 就 --> 叫
    shinwood
        7
    shinwood  
       Aug 26, 2017   ❤️ 1
    1/
    =IF(A2="支出", (-1) * B2, B2)
    A2 为支出列,B2 为金额列,这个公式可以输入到第二行除了 A2 和 B2 的任意单元格。


    2/ 有两种办法:
    (1) 筛选后按 F5,定位,空白单元格
    (2) 筛选后按 Alt + ;(定位可见单元格快捷方式)
    shinwood
        8
    shinwood  
       Aug 26, 2017
    另外,Alt + F11 可以打开 Visual Basic 代码编辑器,Alt + F8 是打开宏对话框。
    Newyorkcity
        9
    Newyorkcity  
    OP
       Aug 26, 2017
    @shinwood 十分感谢!~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5504 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 03:03 · PVG 11:03 · LAX 20:03 · JFK 23:03
    ♥ Do have faith in what you're doing.