You could use entirely the test functionality to achieve what you want. From the man page of test:
! expression True if expression is false.
expression1 -a expression2
True if both expression1 and expression2 are true.
expression1 -o expression2
True if either expression1 or expression2 are true.
(expression) True if expression is true.
So your condition could look like:
if [ -f file1 -a -f file2 -a -f file3 ] ; then
# do stuff with the files
fi
For negating use escaped parentheses:
if [ ! \( -f file1 -a -f file2 -a -f file3 \) ] ; then
echo "Error: You done goofed."
exit 1
fi
# do stuff with the files
fi