def error_value
      if poi_cell.cell_type == CELL_TYPE_ERROR
        error_value_from(poi_cell.error_cell_value)
      elsif poi_cell.cell_type == CELL_TYPE_FORMULA && 
            poi_cell.cached_formula_result_type == CELL_TYPE_ERROR
            
        cell_value = formula_evaluator.evaluate(poi_cell)
        cell_value && error_value_from(cell_value.error_value)
      else
        nil
      end
    end
def error_value
      if poi_cell.cell_type == CELL_TYPE_ERROR
        error_value_from(poi_cell.error_cell_value)
      elsif poi_cell.cell_type == CELL_TYPE_FORMULA && 
            poi_cell.cached_formula_result_type == CELL_TYPE_ERROR
            
        cell_value = formula_evaluator.evaluate(poi_cell)
        cell_value && error_value_from(cell_value.error_value)
      else
        nil
      end
    end
This is NOT an inexpensive operation. The purpose of this method is merely to get more information
 out of cell when one thinks the value returned is incorrect. It may have more value in development
 than in production.