Excel显示不同于值

时间:2014-05-06 14:39:53

标签: excel excel-formula

在一栏中,我有类似 - " 2012年春季"," 2013年秋季","春季" 2014"," 2015年秋季"等等。

我希望拥有的是 - 具有" Spring xxxx"应该比出现的值少一个值。

喜欢 - "Spring 2012" -> "Spring 2011" "Fall 2012" -> "Fall 2012" "Spring 2014" -> "Spring 2013" "Fall 2014" -> "Fall 2014"

我想我需要应用条件格式规则,但我不知道如何在这种情况下使用它。

3 个答案:

答案 0 :(得分:1)

点亮要转换的单元格并运行这个小宏:

Sub FixYear()
    Dim r As Range
    For Each r In Selection
        If r.Value <> "" And InStr(1, r.Value, " ") <> 0 Then
            ary = Split(r.Value, " ")
            ary(1) = ary(1) + 1
            r.Value = Join(ary, " ")
        End If
    Next r
End Sub

宏非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开了一个新模块
  3. 粘贴内容并关闭VBE窗口
  4. 如果保存工作簿,宏将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除宏:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 要使用Excel中的宏:

      1. ALT-F8
      2. 选择宏
      3. 触碰RUN
      4. 要了解有关宏的更多信息,请参阅:

        http://www.mvps.org/dmcritchie/excel/getstarted.htm

        http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

        必须启用宏才能使其正常工作!

        编辑#1 - 非VBA

        使用 A1 中的数据,在 * B1 中输入:

        =LEFT(A1,FIND(" ",A1))&--MID(A1,FIND(" ",A1)+1,9999)+1
        

        根据需要复制

答案 1 :(得分:0)

假设数据从A1开始,请在B1中添加此公式:

=IF(LEFT(A1,4)="Fall",A1,LEFT(A1,FIND(" ",A1))&--MID(A1,FIND(" ",A1)+1,9999)-1)

答案 2 :(得分:0)

使用&#34;帮助列&#34;,假设您的数据在A1中,以更改以&#34; Spring&#34;开头的单元格:

B1:  =IFERROR(SUBSTITUTE(A1,RIGHT(A1,FIND("Spring",A1)),RIGHT(A1,1)-1),A1)