我想知道,在excel文件中给出3列,如何在给定第三列的值的情况下有条件地交换前两列的内容。
A B C
1年
b 2 n
c 3 y
d 4 y
e 5 n
我想要做的是:每当C列中包含值“y”的行时,我想交换同一行的A列和B列中的值。
除了VBA之外没有别的办法吗?
希望问题很清楚。
由于
答案 0 :(得分:1)
我认为有两种方法可以做到:
=IF(C="something", B, A)
和另一方面(A,B)相反
柱。这将根据需要进行切换,然后就可以
将值复制粘贴到列上并删除临时值
列。if-statement
内部使用简单的交换算法。如果您对VBA有非常基本的了解,这应该非常简单。如果您没有这方面的知识,那么请在internetz上查找。代码的一般感觉应该是:
Dim cell as Range
Dim temp as string
for each cell in Range("C2:C" & Range("C2").End(xlDown).Row)
if cell.value = "something" then
temp = cell.offset(0, -1).value
cell.offset(0, -1).value = cell.offset(0, -2).value
cell.offset(0, -2).value = temp
end if
next cell