找到error.type()然后返回不匹配的单元格号?

时间:2016-09-08 04:34:30

标签: google-sheets

我想知道如何返回#DIV / 0的单元格编号!

ERROR.TYPE(#NULL!) = 1 
ERROR.TYPE(#DIV/0!) = 2
ERROR.TYPE(#VALUE!) = 3 etc 

= if(text(O:O,#DIV / 0!),“true”,“false)”)不起作用
=匹配(“墨水”,P:P,0),有效(p25 =“墨水”)

= match(“#DIV / 0!”,O:O,0) - >错误是[#N / A或“没找​​到值'#DIV / 0!'在MATCH评估中。“]

这听起来有点令人困惑,但如果您不理解我会再次澄清

1 个答案:

答案 0 :(得分:0)

简短回答

寻找#DIV / 0!错误,试试

(function () {
    'use strict';
    // dataservice factory
    var app = angular.module('app', []);
    app.factory('dataservice', ['$http', function ($http) {

        function login(username, password, callback) {
            console.log('Login in dataservice...');
            $http.post('/data', {username: username, password: password})
                .then(function (response) {
                    console.log(response);
                }, function (error) {
                    console.warn(error);
                });
        }

        return {
            login: login
        };

    }]);

    app.controller('TestController', ['dataservice', function (dataservice) {
        var vm = this;
        vm.login = login;
        function login() {
            console.log('is this called?');
            vm.loading = true;
            dataservice.login(vm.username, vm.password, function (result) {
                console.log(result);
            });
        }
    }]);
})
();

解释

如果公式发现错误作为无法处理错误的函数的参数,Google表格会停止公式计算,因此不要查找类似" #DIV / 0!"等字符串,计算错误类型,在本例中为O:O列,然后搜索相应的错误类型值。

以下公式部分仅用于返回非空白和非空单元格的错误类型。使用IFERROR是因为LEN为结果有错误的单元返回错误。

=MATCH(
   ERROR.TYPE(1/0),
   FILTER(ERROR.TYPE(O:O),LEN(IFERROR(O:O,ERROR.TYPE(O:O)))),
   0
 )