I found a way to make it work, but I don't know how efficient it is. I saved the values from the columns to lists, deleted the one column, made a new column, and added the passed values to the new column. If it wasn't a passed observation, it wasn't add and the entry in that cell is simply a "."
idList = List();
idList = As List(:Col X<< get values);
idLogic = List();
idLogic = As List(:Col Y<<get values);
dt << New Column("Col X", Numeric, Continuous);
For(i=1, i<=N Rows(dt), i++,
If(idList[i] < someValue, If(idLogic[i]==1,dt:Col X[i] = idList[i],),);
);