15 characters including 4 numbers in the wrong places heavily implies a rearrange of some sort. Neither 5 rows nor 3 rows give us a proper code, but let us take a closer look at the 5 rows. opp
r5e
vp7
94c
pwu
Now we look at what this grid would look like if it was made from a proper format code with a 5 letter keyword so we might be able to warp the above into that format. 2aa
a2k
ywr
da2
a2a
Looking at the number positions, there are the same number per column and the spacing between the two in the middle column is a valid possibility from shifting. Shifting the columns up and down to get proper format gives 9pu
p4p
owe
rp7
v5c
Converting back from the grid to a string gives 9pup4powerp7v5c
Looks like a proper code but it is invalid. Are we missing something or were we wrong up to this point? Because we got what looks exactly like a valid code and has a valid keyword it is likely that we are just missing something. A keyword sub would be the obvious candidate for this and after some guesswork and invalid codes we eventually end up with the keyword knowledge. 9pup4knowledgep7v5c