Las operaciones puede ser restringida a un conjunto de elementos de un arreglo mediante el uso del WHERE, el cual actúa como el IF sobre todos los elementos del arreglo, y al igual que éste, puede acompañarse de un ELSE WHERE y END WHERE
si existe alguna(s) acción(es) que realizar en caso de no cumplirse la condición. Se puede escribir la instrucción en una sola línea cuando solamente se realiza una acción al cumplirse la condición y no hay acción en caso de no cumplirse.
PROGRAM invierte_elementos IMPLICIT NONE ! a es la matriz original y REAL DIMENSION(1000) :: a, b ! b contendra los inversos ... ! lineas que asignan los valores de a WHERE ( a /= 0.0) ! Cuando el elemento de a no sea cero b = 1/a ! el elemento de b toma el valor inverso ELSE WHERE ! de lo contrario b = -1.0 ! se le asigna el valor -1.0 END WHERE ! Fin de la estructura WHERE ... ! Continua el programa END ! Fin del programa