Excelファイルに3つの列がある場合、3番目の列の値を指定して最初の2つの列の内容を条件付きで交換する方法を考えていました。
ABC
a 1 y
b 2 n
c 3 y
d 4 y
e 5 n
私がやりたいのは、C列に値「y」を含む行があるときはいつでも、同じ行の列AとBの値を交換したいということです。
VBA以外の方法はありませんか?
問題が明確であることを願っています。
ありがとう
それを行うには2つの方法があります:
=IF(C="something", B, A)
し、反対の (A、B) をもう一方の列に挿入します。これにより、必要に応じて切り替えが行われ、値を列にコピーして貼り付け、一時列を削除できます。if-statement
ループ内の自分自身の中で単純なスワップ アルゴリズムを使用します。VBA の基本的な知識があれば、これは非常に簡単です。その知識がない場合は、インターネットで調べてください。コードの全体的な感触:
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