Zum Hauptinhalt springen
claw
am
tools
Werkzeuge
Dokumente
Daoark
EN
Startseite
Startseite
/
Dokumente
›
5")'}, {name:'COUNTIFS', cat:'统计', syntax:'COUNTIFS(criteria_range1, criteria1, ...)', desc:'多条件计数', ex:'=COUNTIFS(A1:A10,">5",B1:B10,"<10")'}, {name:'SUMIF', cat:'统计', syntax:'SUMIF(range, criteria, [sum_range])', desc:'条件求和', ex:'=SUMIF(A1:A10,">5",B1:B10)'}, {name:'SUMIFS', cat:'统计', syntax:'SUMIFS(sum_range, criteria_range1, criteria1, ...)', desc:'多条件求和', ex:'=SUMIFS(B1:B10,A1:A10,">5")'}, {name:'AVERAGEIF', cat:'统计', syntax:'AVERAGEIF(range, criteria, [average_range])', desc:'条件平均', ex:'=AVERAGEIF(A1:A10,">5",B1:B10)'}, {name:'RANK', cat:'统计', syntax:'RANK(number, ref, [order])', desc:'排名', ex:'=RANK(A1, A1:A10, 0) 降序'}, {name:'STDEV', cat:'统计', syntax:'STDEV(number1, [number2], ...)', desc:'标准差', ex:'=STDEV(A1:A10)'}, {name:'VAR', cat:'统计', syntax:'VAR(number1, [number2], ...)', desc:'方差', ex:'=VAR(A1:A10)'}, // 文本 {name:'LEN', cat:'文本', syntax:'LEN(text)', desc:'字符长度', ex:'=LEN("hello") → 5'}, {name:'CONCATENATE', cat:'文本', syntax:'CONCATENATE(text1, [text2], ...)', desc:'拼接文本', ex:'=CONCATENATE("a","b") → "ab"'}, {name:'CONCAT', cat:'文本', syntax:'CONCAT(text1, [text2], ...)', desc:'拼接文本(新)', ex:'=CONCAT(A1:A5)'}, {name:'LEFT', cat:'文本', syntax:'LEFT(text, [num_chars])', desc:'左侧取字符', ex:'=LEFT("hello",2) → "he"'}, {name:'RIGHT', cat:'文本', syntax:'RIGHT(text, [num_chars])', desc:'右侧取字符', ex:'=RIGHT("hello",2) → "lo"'}, {name:'MID', cat:'文本', syntax:'MID(text, start_num, num_chars)', desc:'中间取字符', ex:'=MID("hello",2,2) → "el"'}, {name:'UPPER', cat:'文本', syntax:'UPPER(text)', desc:'转大写', ex:'=UPPER("hello") → "HELLO"'}, {name:'LOWER', cat:'文本', syntax:'LOWER(text)', desc:'转小写', ex:'=LOWER("HELLO") → "hello"'}, {name:'TRIM', cat:'文本', syntax:'TRIM(text)', desc:'去除首尾空格', ex:'=TRIM(" hi ") → "hi"'}, {name:'SUBSTITUTE', cat:'文本', syntax:'SUBSTITUTE(text, old_text, new_text, [instance_num])', desc:'替换文本', ex:'=SUBSTITUTE("a-b-c","-","+")'}, {name:'REPLACE', cat:'文本', syntax:'REPLACE(old_text, start_num, num_chars, new_text)', desc:'按位置替换', ex:'=REPLACE("abc",2,1,"X") → "aXc"'}, {name:'FIND', cat:'文本', syntax:'FIND(find_text, within_text, [start_num])', desc:'查找位置(区分大小写)', ex:'=FIND("e","hello") → 2'}, {name:'SEARCH', cat:'文本', syntax:'SEARCH(find_text, within_text, [start_num])', desc:'查找位置(不区分)', ex:'=SEARCH("E","hello") → 2'}, {name:'TEXT', cat:'文本', syntax:'TEXT(value, format_text)', desc:'格式化数字', ex:'=TEXT(1234.5,"0.00") → "1234.50"'}, // 日期 {name:'TODAY', cat:'日期', syntax:'TODAY()', desc:'今日日期', ex:'=TODAY() → 2026/6/4'}, {name:'NOW', cat:'日期', syntax:'NOW()', desc:'当前日期时间', ex:'=NOW() → 2026/6/4 14:30'}, {name:'YEAR', cat:'日期', syntax:'YEAR(date)', desc:'提取年', ex:'=YEAR(TODAY()) → 2026'}, {name:'MONTH', cat:'日期', syntax:'MONTH(date)', desc:'提取月', ex:'=MONTH(TODAY()) → 6'}, {name:'DAY', cat:'日期', syntax:'DAY(date)', desc:'提取日', ex:'=DAY(TODAY()) → 4'}, {name:'HOUR', cat:'日期', syntax:'HOUR(time)', desc:'提取小时', ex:'=HOUR(NOW()) → 14'}, {name:'MINUTE', cat:'日期', syntax:'MINUTE(time)', desc:'提取分钟', ex:'=MINUTE(NOW()) → 30'}, {name:'SECOND', cat:'日期', syntax:'SECOND(time)', desc:'提取秒', ex:'=SECOND(NOW())'}, {name:'DATEDIF', cat:'日期', syntax:'DATEDIF(start_date, end_date, unit)', desc:'日期差', ex:'=DATEDIF("2020-1-1",TODAY(),"Y") → 年数'}, {name:'WEEKDAY', cat:'日期', syntax:'WEEKDAY(date, [type])', desc:'星期几', ex:'=WEEKDAY(TODAY(),2) → 1-7'}, {name:'DATE', cat:'日期', syntax:'DATE(year, month, day)', desc:'构造日期', ex:'=DATE(2026,12,25)'}, // 查找 {name:'VLOOKUP', cat:'查找', syntax:'VLOOKUP(lookup_value, table_array, col_index, [range_lookup])', desc:'纵向查找', ex:'=VLOOKUP("A",A:C,3,FALSE)'}, {name:'HLOOKUP', cat:'查找', syntax:'HLOOKUP(lookup_value, table_array, row_index, [range_lookup])', desc:'横向查找', ex:'=HLOOKUP("A",A1:Z2,2,FALSE)'}, {name:'INDEX', cat:'查找', syntax:'INDEX(array, row_num, [col_num])', desc:'索引取值', ex:'=INDEX(A1:C10,3,2)'}, {name:'MATCH', cat:'查找', syntax:'MATCH(lookup_value, lookup_array, [match_type])', desc:'位置查找', ex:'=MATCH("A",A1:A10,0)'}, {name:'XLOOKUP', cat:'查找', syntax:'XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found])', desc:'新查找(365+)', ex:'=XLOOKUP("A",A:A,B:B,"未找到")'}, // 逻辑 {name:'IF', cat:'逻辑', syntax:'IF(logical_test, value_if_true, [value_if_false])', desc:'条件判断', ex:'=IF(A1>5,"大","小")'}, {name:'IFS', cat:'逻辑', syntax:'IFS(logical_test1, value_if_true1, ...)', desc:'多条件(365+)', ex:'=IFS(A1>5,"大",A1>3,"中",TRUE,"小")'}, {name:'AND', cat:'逻辑', syntax:'AND(logical1, [logical2], ...)', desc:'逻辑与', ex:'=AND(A1>0,A1<10)'}, {name:'OR', cat:'逻辑', syntax:'OR(logical1, [logical2], ...)', desc:'逻辑或', ex:'=OR(A1>5,B1>5)'}, {name:'NOT', cat:'逻辑', syntax:'NOT(logical)', desc:'逻辑非', ex:'=NOT(A1>5)'}, {name:'IFERROR', cat:'逻辑', syntax:'IFERROR(value, value_if_error)', desc:'错误处理', ex:'=IFERROR(A1/B1,0)'}, // 财务 {name:'PMT', cat:'财务', syntax:'PMT(rate, nper, pv, [fv], [type])', desc:'等额本息月供', ex:'=PMT(0.05/12,360,1000000) 贷款'}, {name:'PV', cat:'财务', syntax:'PV(rate, nper, pmt, [fv], [type])', desc:'现值', ex:'=PV(0.05,10,-100) 年金现值'}, {name:'FV', cat:'财务', syntax:'FV(rate, nper, pmt, [pv], [type])', desc:'终值', ex:'=FV(0.05,10,-100) 存款终值'}, {name:'NPV', cat:'财务', syntax:'NPV(rate, value1, [value2], ...)', desc:'净现值', ex:'=NPV(0.1,A1:A5)'}, {name:'IRR', cat:'财务', syntax:'IRR(values, [guess])', desc:'内部收益率', ex:'=IRR(A1:A5)'}, // 工程 {name:'CONVERT', cat:'工程', syntax:'CONVERT(number, from_unit, to_unit)', desc:'单位转换', ex:'=CONVERT(1,"m","ft") 米→英尺'}, {name:'BIN2DEC', cat:'工程', syntax:'BIN2DEC(number)', desc:'二进制→十进制', ex:'=BIN2DEC(1010) → 10'}, {name:'DEC2HEX', cat:'工程', syntax:'DEC2HEX(number, [places])', desc:'十进制→十六进制', ex:'=DEC2HEX(255) → "ff"'} ]; function render(rows) { if (rows.length === 0) { document.getElementById('result-content').innerHTML = '
无匹配函数
'; document.getElementById('result-meta').textContent = '查询结果: 0 个'; return; } var html = '
函数
类别
语法
用途
示例
'; for (var i = 0; i < rows.length; i++) { var r = rows[i]; html += '
' + r.name + '
' + '
' + r.cat + '
' + '
' + r.syntax + '
' + '
' + r.desc + '
' + '
' + r.ex + '
'; } html += '
'; document.getElementById('result-content').innerHTML = html; document.getElementById('result-meta').textContent = '查询结果: ' + rows.length + ' 个函数'; } var errorMsg = document.getElementById('error-msg'); var resultArea = document.getElementById('result-area'); var btnMain = document.getElementById('btn-main'); document.getElementById('f').addEventListener('submit', function(e) { e.preventDefault(); errorMsg.textContent = ''; btnMain.disabled = true; try { var q = document.getElementById('query').value.trim().toLowerCase(); var cat = document.getElementById('category').value; var rows = FUNCS; if (q) { rows = rows.filter(function(r) { return r.name.toLowerCase().indexOf(q) >= 0 || r.desc.toLowerCase().indexOf(q) >= 0 || r.syntax.toLowerCase().indexOf(q) >= 0; }); } if (cat) { rows = rows.filter(function(r) { return r.cat === cat; }); } resultArea.classList.add('show'); render(rows); } catch (err) { errorMsg.textContent = '错误: ' + err.message; } finally { btnMain.disabled = false; } }); })();