{"ID":"20251007101943-jrwn98j","Spec":"2","Type":"NodeDocument","Properties":{"custom-expires":"0","custom-publish-status":"publish","custom-publish-time":"1759806028841","id":"20251007101943-jrwn98j","title":"Excel物料需求计算","type":"doc","updated":"20251029151013"},"Children":[{"ID":"20251021205326-y84o2yl","Type":"NodeParagraph","Properties":{"id":"20251021205326-y84o2yl","updated":"20251021205326"}},{"ID":"20251007101950-1gugbp5","Type":"NodeHeading","HeadingLevel":2,"Properties":{"id":"20251007101950-1gugbp5","updated":"20251029151004"},"Children":[{"Type":"NodeText","Data":"一.使用"}]},{"ID":"20251029151003-issbmd4","Type":"NodeParagraph","Properties":{"id":"20251029151003-issbmd4","updated":"20251029151003"}},{"ID":"20251029151004-m13odax","Type":"NodeParagraph","Properties":{"id":"20251029151004-m13odax","updated":"20251029151004"}},{"ID":"20251007103538-0h6e40i","Type":"NodeList","ListData":{},"Properties":{"id":"20251007103538-0h6e40i","updated":"20251007103613"},"Children":[{"ID":"20251007103613-sqd2oun","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103613-sqd2oun","updated":"20251007103613"},"Children":[{"ID":"20251007103613-75wsxtt","Type":"NodeParagraph","Properties":{"id":"20251007103613-75wsxtt","updated":"20251007103613"},"Children":[{"Type":"NodeText","Data":"启用宏功能"}]}]}]},{"ID":"20251007103538-bdebbsq","Type":"NodeList","ListData":{},"Properties":{"id":"20251007103538-bdebbsq","updated":"20251007103538"},"Children":[{"ID":"20251007103538-f74vlns","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103538-f74vlns","updated":"20251007103538"},"Children":[{"ID":"20251007103538-3ue35ls","Type":"NodeParagraph","Properties":{"id":"20251007103538-3ue35ls","updated":"20251007103538"},"Children":[{"Type":"NodeText","Data":"将BOM数据粘贴到"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"BOM"},{"Type":"NodeText","Data":"​工作表"}]}]},{"ID":"20251007103538-l98kcxb","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103538-l98kcxb","updated":"20251007103538"},"Children":[{"ID":"20251007103538-2crsvgh","Type":"NodeParagraph","Properties":{"id":"20251007103538-2crsvgh","updated":"20251007103538"},"Children":[{"Type":"NodeText","Data":"将预测数据粘贴到"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"Focest"},{"Type":"NodeText","Data":"​工作表"}]}]}]},{"ID":"20251007103538-wptkjh0","Type":"NodeList","ListData":{},"Properties":{"id":"20251007103538-wptkjh0","updated":"20251007103623"},"Children":[{"ID":"20251007103623-69q9u7n","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103623-69q9u7n","updated":"20251007103623"},"Children":[{"ID":"20251007103623-ik5ukjv","Type":"NodeParagraph","Properties":{"id":"20251007103623-ik5ukjv","updated":"20251007103623"},"Children":[{"Type":"NodeText","Data":"按"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"Alt+F8"},{"Type":"NodeText","Data":"​打开宏对话框"}]}]}]},{"ID":"20251007103538-l28z8vd","Type":"NodeList","ListData":{},"Properties":{"id":"20251007103538-l28z8vd","updated":"20251007103627"},"Children":[{"ID":"20251007103627-u1ocd3t","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103627-u1ocd3t","updated":"20251007103627"},"Children":[{"ID":"20251007103627-rryv6m0","Type":"NodeParagraph","Properties":{"id":"20251007103627-rryv6m0","updated":"20251007103627"},"Children":[{"Type":"NodeText","Data":"选择宏"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"A"},{"Type":"NodeText","Data":"​"}]}]}]},{"ID":"20251007103538-6q6mpo3","Type":"NodeList","ListData":{},"Properties":{"id":"20251007103538-6q6mpo3","updated":"20251029134215"},"Children":[{"ID":"20251007103631-s4oome2","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103631-s4oome2","updated":"20251007103631"},"Children":[{"ID":"20251007103631-qhayol7","Type":"NodeParagraph","Properties":{"id":"20251007103631-qhayol7","updated":"20251007103631"},"Children":[{"Type":"NodeText","Data":"点击"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"运行"},{"Type":"NodeText","Data":"​按钮"}]}]},{"ID":"20251007103747-229bjft","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103747-229bjft","updated":"20251029134215"},"Children":[{"ID":"20251007103749-o3w3b7f","Type":"NodeParagraph","Properties":{"id":"20251007103749-o3w3b7f","updated":"20251029134215"},"Children":[{"Type":"NodeText","Data":" 在Cutput工作表查看所有汇总数据"}]}]}]},{"ID":"20251007103538-z5d2rho","Type":"NodeBlockquote","Properties":{"id":"20251007103538-z5d2rho","updated":"20251007103538"},"Children":[{"Type":"NodeBlockquoteMarker","Data":"\u003e"},{"ID":"20251007103538-joq3kr7","Type":"NodeParagraph","Properties":{"id":"20251007103538-joq3kr7","updated":"20251007103538"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"重要注意事项"},{"Type":"NodeText","Data":":"}]},{"ID":"20251007103538-smjcynk","Type":"NodeList","ListData":{},"Properties":{"id":"20251007103538-smjcynk","updated":"20251007103538"},"Children":[{"ID":"20251007103538-m1bekwm","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007103538-m1bekwm","updated":"20251007103538"},"Children":[{"ID":"20251007103538-yhzozlu","Type":"NodeParagraph","Properties":{"id":"20251007103538-yhzozlu","updated":"20251007103538"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"保持原始列位置不变,避免修改列顺序"}]}]}]}]},{"ID":"20251007103209-33jahkh","Type":"NodeHeading","HeadingLevel":1,"Properties":{"id":"20251007103209-33jahkh","updated":"20251010095308"},"Children":[{"Type":"NodeText","Data":"二、文件结构"}]},{"ID":"20251008140534-ikudpbn","Type":"NodeParagraph","Properties":{"id":"20251008140534-ikudpbn","updated":"20251009203911"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20251008140535-no314zi.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]},{"ID":"20251007103237-06coebk","Type":"NodeParagraph","Properties":{"id":"20251007103237-06coebk","updated":"20251007103237"}},{"ID":"20251007102118-doi1b72","Type":"NodeParagraph","Properties":{"id":"20251007102118-doi1b72","updated":"20251007102119"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20251007102119-zzs4gks.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]},{"ID":"20251010095308-da1gmdw","Type":"NodeParagraph","Properties":{"id":"20251010095308-da1gmdw","updated":"20251010095308"}},{"ID":"20251010095150-bz7xiqj","Type":"NodeParagraph","Properties":{"id":"20251010095150-bz7xiqj","updated":"20251010095150"}},{"ID":"20251007101950-3xgqm1t","Type":"NodeTable","TableAligns":[0,0,0,0],"Properties":{"colgroup":"|||","id":"20251007101950-3xgqm1t","updated":"20251007102133"},"Children":[{"Type":"NodeTableHead","Data":"thead","Children":[{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"工作表名称"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"功能描述"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"数据来源"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"更新频率"}]}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"料件库存报表"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"存放SAP导出的库存数据"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"SAP系统导出"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"每日/每周"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"BOM"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"BOM表数据"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"SAP系统导出"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"物料变更时"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"Focest"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"存放预测需求数据"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"预测系统导出"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"每周"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"Output"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"宏运行后生成的需求计算结果"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"系统自动生成"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"每次运行宏"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"Cutput"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"宏运行后生成的需求透视表"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"系统自动生成"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"每次运行宏"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"Unmatched"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"宏运行后生成的未匹配料号清单"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"系统自动生成"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"每次运行宏"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"0000"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"主分析报表(最终查看页面)"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"综合所有数据"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"实时更新"}]}]}]},{"ID":"20251007101950-4wo5r07","Type":"NodeHeading","HeadingLevel":4,"Properties":{"id":"20251007101950-4wo5r07","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"步骤1:准备源数据"}]},{"ID":"20251007101950-znq4l0w","Type":"NodeParagraph","Properties":{"id":"20251007101950-znq4l0w","updated":"20251007101950"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"库存报表数据要求:"}]},{"ID":"20251007101950-0d46td2","Type":"NodeList","ListData":{},"Properties":{"id":"20251007101950-0d46td2","updated":"20251007101950"},"Children":[{"ID":"20251007101950-6pqjxdb","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007101950-6pqjxdb","updated":"20251007101950"},"Children":[{"ID":"20251007101950-5e97muw","Type":"NodeParagraph","Properties":{"id":"20251007101950-5e97muw","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"必须包含的字段:料号、库存量、待验量、需求量、采购订单量、采购申请量、提前期天数、最小订单量、结余量"}]}]},{"ID":"20251007101950-n6nqtj0","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007101950-n6nqtj0","updated":"20251007101950"},"Children":[{"ID":"20251007101950-2r71rup","Type":"NodeParagraph","Properties":{"id":"20251007101950-2r71rup","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"数据格式:从SAP系统标准导出格式"}]}]},{"ID":"20251007102208-qmdycmg","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007102208-qmdycmg","updated":"20251007102208"},"Children":[{"ID":"20251007102208-d0y7lkq","Type":"NodeParagraph","Properties":{"id":"20251007102208-d0y7lkq","updated":"20251007102230"},"Children":[{"Type":"NodeText","Data":"直接整体覆盖粘贴"}]}]},{"ID":"20251007102222-55xa6og","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007102222-55xa6og","updated":"20251007102222"},"Children":[{"ID":"20251007102222-mup6fx7","Type":"NodeParagraph","Properties":{"id":"20251007102222-mup6fx7","updated":"20251007102223"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20251007102223-ywzcq1h.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]}]},{"ID":"20251007101950-mx6n0z8","Type":"NodeParagraph","Properties":{"id":"20251007101950-mx6n0z8","updated":"20251007101950"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"BOM表数据要求:"}]},{"ID":"20251007101950-r20cvwd","Type":"NodeList","ListData":{},"Properties":{"id":"20251007101950-r20cvwd","updated":"20251007101950"},"Children":[{"ID":"20251007101950-wvilwt7","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007101950-wvilwt7","updated":"20251007101950"},"Children":[{"ID":"20251007101950-6x7egcc","Type":"NodeParagraph","Properties":{"id":"20251007101950-6x7egcc","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"父料号、子料号、用量比例"}]}]},{"ID":"20251007101950-dh700zj","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007101950-dh700zj","updated":"20251007101950"},"Children":[{"ID":"20251007101950-3s3cuty","Type":"NodeParagraph","Properties":{"id":"20251007101950-3s3cuty","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"完整的物料层级关系"}]}]},{"ID":"20251007102256-7lf98jt","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007102256-7lf98jt","updated":"20251007102256"},"Children":[{"ID":"20251007102256-tgfu4hi","Type":"NodeParagraph","Properties":{"id":"20251007102256-tgfu4hi","updated":"20251007102257"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20251007102257-dad04rj.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]}]},{"ID":"20251007101950-7wfj835","Type":"NodeParagraph","Properties":{"id":"20251007101950-7wfj835","updated":"20251007101950"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"Focest预测数据要求:"}]},{"ID":"20251007101950-v31blto","Type":"NodeList","ListData":{},"Properties":{"id":"20251007101950-v31blto","updated":"20251007101950"},"Children":[{"ID":"20251007101950-cjynlq3","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007101950-cjynlq3","updated":"20251007101950"},"Children":[{"ID":"20251007101950-48gvvew","Type":"NodeParagraph","Properties":{"id":"20251007101950-48gvvew","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"料号、LIC系数"}]}]},{"ID":"20251007101950-tmr8lst","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007101950-tmr8lst","updated":"20251007101950"},"Children":[{"ID":"20251007101950-igk84lq","Type":"NodeParagraph","Properties":{"id":"20251007101950-igk84lq","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"56周的需求预测数据"}]}]},{"ID":"20251007101950-raxyodd","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007101950-raxyodd","updated":"20251007101950"},"Children":[{"ID":"20251007101950-lg129e0","Type":"NodeParagraph","Properties":{"id":"20251007101950-lg129e0","updated":"20251007101950"},"Children":[{"Type":"NodeText","Data":"基准日期信息"}]}]}]},{"ID":"20251007101950-12z0rkw","Type":"NodeHeading","HeadingLevel":3,"Properties":{"id":"20251007101950-12z0rkw","updated":"20251007102659"},"Children":[{"Type":"NodeText","Data":"参数配置详解"}]},{"ID":"20251007101950-i1k872g","Type":"NodeTable","TableAligns":[0,0,0,0,0],"Properties":{"colgroup":"||||","id":"20251007101950-i1k872g","updated":"20251007101950"},"Children":[{"Type":"NodeTableHead","Data":"thead","Children":[{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"单元格"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"对应数据"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"默认值"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"数据源列"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"说明"}]}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"B1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存量"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"2"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"D列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中库存所在列"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"C1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"待验量"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"3"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"E列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中待验量所在列"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"D1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"需求量"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"4"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"F列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中需求量所在列"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"E1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"PO量"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"5"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"G列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中采购订单量所在列"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"F1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"PR量"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"6"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"H列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中采购申请量所在列"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"G1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"LT天数"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"7"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"I列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中提前期天数所在列"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"H1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"MOQ"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"8"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"J列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中最小订单量所在列"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"I1"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"结余量"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"9"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"K列"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存报表中结余量所在列"}]}]}]},{"ID":"20251007101950-3rapueu","Type":"NodeParagraph","Properties":{"id":"20251007101950-3rapueu","updated":"20251007102659"},"Children":[{"Type":"NodeText","Data":"如需更改数据提取列,直接修改B1:I1中的数字(如B1=3表示提取库存报表E列数据)"}]},{"ID":"20251007101950-3vhh8c9","Type":"NodeHeading","HeadingLevel":3,"Properties":{"id":"20251007101950-3vhh8c9","updated":"20251029085427"},"Children":[{"Type":"NodeText","Data":"4. 0000工作表(主分析仪表板)"}]},{"ID":"20251007103256-08bskql","Type":"NodeParagraph","Properties":{"id":"20251007103256-08bskql","updated":"20251007103257"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20251007103256-5dcvrto.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]},{"ID":"20251007101950-89pe4g7","Type":"NodeHeading","HeadingLevel":4,"Properties":{"id":"20251007101950-89pe4g7","updated":"20251029085427"},"Children":[{"Type":"NodeText","Data":"核心分析列说明"}]},{"ID":"20251007101950-5snse30","Type":"NodeTable","TableAligns":[0,0,2,0],"Properties":{"colgroup":"|||","id":"20251007101950-5snse30","style":"width: 100%; flex: 0 0 auto;","updated":"20251007101950"},"Children":[{"Type":"NodeTableHead","Data":"thead","Children":[{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"列"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"标题"}]},{"Type":"NodeTableCell","Data":"th","TableCellAlign":2,"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"公式"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"业务含义"}]}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"A"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"P/N"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"手工输入"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"需要分析的料号"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"B"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"庫存"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,B$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"当前库存数量"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"C"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"待驗"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,C$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"在检验中的数量"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"D"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"需求"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,D$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"当前需求量"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"E"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"PO"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,E$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"采购在途订单量"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"F"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"PR"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,F$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"采购申请量"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"G"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"天数"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,G$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"物料提前期(天)"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"H"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"MOQ"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,H$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"最小订购批量"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"I"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"结余量"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A3,料件库存报表!$D:$BG,I$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"可用库存结余"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"J"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"L/T+两周"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=ROUND(G3/7,0)+2"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"提前期周数+安全缓冲"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"K"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"工单欠料"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=I3-SUM(...)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"结余量减去提前期内需求"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"L"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"L/T内需求"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=SUM(INDIRECT('P'\u0026amp;ROW()\u0026amp;':'\u0026amp;NT($J3+COLUMN($P$1)-1)\u0026amp;ROW()))"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"提前期内的总需求"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"M"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"差异"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=I3-L3"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"库存与需求的差异"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"N-BH"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"周需求"}]},{"Type":"NodeTableCell","Data":"td","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=VLOOKUP($A5,Cutput!$A:$BH,Q$1,0)"},{"Type":"NodeText","Data":"​"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"各周预测需求数量"}]}]}]},{"ID":"20251007112958-go76tbe","Type":"NodeParagraph","Properties":{"id":"20251007112958-go76tbe","updated":"20251007112958"}},{"ID":"20251010141021-esq4eaa","Type":"NodeTable","TableAligns":[0,0,2,0],"Properties":{"colgroup":"|||","id":"20251010141021-esq4eaa","updated":"20251010141021"},"Children":[{"Type":"NodeTableHead","Data":"thead","Children":[{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"L"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeText","Data":"L/T内需求"}]},{"Type":"NodeTableCell","Data":"th","TableCellAlign":2,"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"=SUM(INDIRECT('P'\u0026amp;ROW()\u0026amp;':'\u0026amp;NT($J3+COLUMN($P$1)-1)\u0026amp;ROW()))"},{"Type":"NodeText","Data":"​​"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeText","Data":"提前期内的总需求"}]}]}]}]},{"ID":"20251010141032-qmcjd1d","Type":"NodeParagraph","Properties":{"id":"20251010141032-qmcjd1d","updated":"20251010141350"},"Children":[{"Type":"NodeText","Data":"正常来说 =SUM(P1:xx1)"}]},{"ID":"20251010141110-qt6c0aa","Type":"NodeParagraph","Properties":{"id":"20251010141110-qt6c0aa","updated":"20251010141222"},"Children":[{"Type":"NodeText","Data":"对于此处而言"}]},{"ID":"20251010141224-454oa5l","Type":"NodeParagraph","Properties":{"id":"20251010141224-454oa5l","updated":"20251010141345"},"Children":[{"Type":"NodeText","Data":"我们的需要将我们的L/T周数变成此处的xx"}]},{"ID":"20251010141356-pehk5ba","Type":"NodeParagraph","Properties":{"id":"20251010141356-pehk5ba","updated":"20251010141429"},"Children":[{"Type":"NodeText","Data":"变成 =SUM(P1:L/T周数1)"}]},{"ID":"20251010141435-nr8twfc","Type":"NodeParagraph","Properties":{"id":"20251010141435-nr8twfc","updated":"20251010142120"},"Children":[{"Type":"NodeText","Data":"这时候会发生一个问题,我们的求和是从P1开始, 所以我们需要给我们的L/T周数往后移动,移动到p1的前一列"}]},{"ID":"20251010142013-4qvuwqt","Type":"NodeParagraph","Properties":{"id":"20251010142013-4qvuwqt","updated":"20251010142023"},"Children":[{"Type":"NodeText","Data":"我们的公式变成了"}]},{"ID":"20251010142032-51q4yhz","Type":"NodeParagraph","Properties":{"id":"20251010142032-51q4yhz","updated":"20251010142115"},"Children":[{"Type":"NodeText","Data":"=SUM(P1:(L/T周数+p1前1列的数字)1)"}]},{"ID":"20251010142208-a0o4rm7","Type":"NodeParagraph","Properties":{"id":"20251010142208-a0o4rm7","updated":"20251010142344"},"Children":[{"Type":"NodeText","Data":"但是 (L/T周数+p1前1列的数字)是一个列的数字,我们需要的是这个列数的字母,"}]},{"ID":"20251010142345-ounweht","Type":"NodeParagraph","Properties":{"id":"20251010142345-ounweht","updated":"20251010142401"},"Children":[{"Type":"NodeText","Data":"所以自定义函数NT()"}]},{"ID":"20251010144421-jxmtm3z","Type":"NodeCodeBlock","IsFencedCodeBlock":true,"Properties":{"id":"20251010144421-jxmtm3z","updated":"20251010144424"},"Children":[{"Type":"NodeCodeBlockFenceOpenMarker","Data":"```"},{"Type":"NodeCodeBlockFenceInfoMarker","CodeBlockInfo":"dW5kZWZpbmVk"},{"Type":"NodeCodeBlockCode","Data":"Function NT(colNum As Integer) As String\n NT = Split(Cells(1, colNum).Address, \"$\")(1)\nEnd Function\n"},{"Type":"NodeCodeBlockFenceCloseMarker","Data":"```"}]},{"ID":"20251010142413-w88yr3t","Type":"NodeParagraph","Properties":{"id":"20251010142413-w88yr3t","updated":"20251010142430"},"Children":[{"Type":"NodeText","Data":"使(L/T周数+p1前1列的数字)=xx、"}]},{"ID":"20251010142430-d0ip1ow","Type":"NodeParagraph","Properties":{"id":"20251010142430-d0ip1ow","updated":"20251010142603"},"Children":[{"Type":"NodeText","Data":"此时整体逻辑完全完成,但是当我们直接输入"}]},{"ID":"20251010142606-wze970z","Type":"NodeParagraph","Properties":{"id":"20251010142606-wze970z","updated":"20251010142630"},"Children":[{"Type":"NodeText","Data":"=SUM(P1:NT(L/T周数+p1前1列的数字)1)时"}]},{"ID":"20251010142631-dxjtf05","Type":"NodeParagraph","Properties":{"id":"20251010142631-dxjtf05","updated":"20251010142639"},"Children":[{"Type":"NodeText","Data":"excel会报错"}]},{"ID":"20251010142640-bjqbmpo","Type":"NodeParagraph","Properties":{"id":"20251010142640-bjqbmpo","updated":"20251010142910"},"Children":[{"Type":"NodeText","Data":"因为excel不支持直接转换和拼接文本,这样拼接是不合法的,"}]},{"ID":"20251010142810-3hvmqi5","Type":"NodeParagraph","Properties":{"id":"20251010142810-3hvmqi5","updated":"20251010143021"},"Children":[{"Type":"NodeText","Data":"所以我们需要INDIRECT(\"\"),他会把任何文本转换成excel的单元格引用,"}]},{"ID":"20251010143026-9rd7411","Type":"NodeParagraph","Properties":{"id":"20251010143026-9rd7411","updated":"20251010143109"},"Children":[{"Type":"NodeText","Data":"如我在B3单元格内写上A1:Z1"}]},{"ID":"20251010143032-tmeftbh","Type":"NodeParagraph","Properties":{"id":"20251010143032-tmeftbh","updated":"20251010143103"},"Children":[{"Type":"NodeText","Data":"=SUM(INDIRECT(\"B3\"))"}]},{"ID":"20251010143120-y1f3gum","Type":"NodeParagraph","Properties":{"id":"20251010143120-y1f3gum","updated":"20251010143145"},"Children":[{"Type":"NodeText","Data":"其就会汇总A1:Z1的值"}]},{"ID":"20251010143145-uzk8ile","Type":"NodeParagraph","Properties":{"id":"20251010143145-uzk8ile","updated":"20251010143404"},"Children":[{"Type":"NodeText","Data":"我们分解最初的公式,分为5格部分,开始列号,行号,冒号,结束列号,行号"}]},{"ID":"20251010143241-zjj2je4","Type":"NodeParagraph","Properties":{"id":"20251010143241-zjj2je4","updated":"20251010143242"},"Children":[{"Type":"NodeText","Data":" =SUM(P1:xx1)"}]},{"ID":"20251010143411-6nc4b15","Type":"NodeParagraph","Properties":{"id":"20251010143411-6nc4b15","updated":"20251010143513"},"Children":[{"Type":"NodeText","Data":"所以就等于(\u0026是拼接符)"}]},{"ID":"20251010143427-1nrn2qm","Type":"NodeParagraph","Properties":{"id":"20251010143427-1nrn2qm","updated":"20251010143612"},"Children":[{"Type":"NodeText","Data":"=SUM(INDIRECT(\"开始列号” \u0026“行号”\u0026“:”\u0026\"结束列号\"\u0026\"行号\")、"}]},{"ID":"20251010143612-nermlmz","Type":"NodeParagraph","Properties":{"id":"20251010143612-nermlmz","updated":"20251010144106"},"Children":[{"Type":"NodeText","Data":"因为我们是横着一行求和,所以行号相等,本来使用1,2.3更为方便,但因为文本拼接下,引号 “” 的影响,这里直接使用1,2,3无法自动更新,始终时1行值,遂使用ROW()替代,该函数会返回当前函数所在的函数"}]},{"ID":"20251010144131-i1t84c1","Type":"NodeParagraph","Properties":{"id":"20251010144131-i1t84c1","updated":"20251010144154"},"Children":[{"Type":"NodeText","Data":"至此大工告成"}]},{"ID":"20251010144155-r83bsn5","Type":"NodeParagraph","Properties":{"id":"20251010144155-r83bsn5","updated":"20251010144541"},"Children":[{"Type":"NodeText","Data":"=SUM(INDIRECT(\"P” \u0026 ROW() \u0026“:”\u0026 NT(L/T周数+p1前1列的数字)\u0026 ROW())"}]},{"ID":"20251010150153-ld0eocm","Type":"NodeParagraph","Properties":{"id":"20251010150153-ld0eocm","updated":"20251010150153"}},{"ID":"20251010150153-6ml8bl7","Type":"NodeParagraph","Properties":{"id":"20251010150153-6ml8bl7","updated":"20251010150211"},"Children":[{"Type":"NodeText","Data":"=ROUND(("},{"Type":"NodeTextMark","TextMarkType":"inline-math","TextMarkInlineMathContent":"P"},{"Type":"NodeText","Data":"2-INDIRECT(\"Focest!"},{"Type":"NodeTextMark","TextMarkType":"inline-math","TextMarkInlineMathContent":"C1\"))/7, 0)+COLUMN()-COLUMN("},{"Type":"NodeText","Data":"N$1)"}]},{"ID":"20251010150216-3ic35kx","Type":"NodeParagraph","Properties":{"id":"20251010150216-3ic35kx","updated":"20251010150216"}},{"ID":"20251010150919-ppvrmc8","Type":"NodeParagraph","Properties":{"id":"20251010150919-ppvrmc8","updated":"20251010150919"}},{"ID":"20251010150919-9hlz8v6","Type":"NodeParagraph","Properties":{"id":"20251010150919-9hlz8v6","updated":"20251010150919"}},{"ID":"20251010150216-hjryaet","Type":"NodeParagraph","Properties":{"id":"20251010150216-hjryaet","updated":"20251010150535"},"Children":[{"Type":"NodeText","Data":"(表日期-预测表日期)/7"}]},{"ID":"20251010150539-yjwylp2","Type":"NodeParagraph","Properties":{"id":"20251010150539-yjwylp2","updated":"20251010150550"},"Children":[{"Type":"NodeText","Data":" 数据是从第二行起 构建一个从2开始递增的数 "},{"Type":"NodeTextMark","TextMarkType":"inline-math","TextMarkInlineMathContent":"COLUMN()-COLUMN("},{"Type":"NodeText","Data":"N$1)"}]},{"ID":"20251010150603-i7kytbt","Type":"NodeParagraph","Properties":{"id":"20251010150603-i7kytbt","updated":"20251010150800"},"Children":[{"Type":"NodeText","Data":"ROUND() 向上取整()大于0.5,取1,小于0.5取零"}]},{"ID":"20251010150802-sgpssxx","Type":"NodeParagraph","Properties":{"id":"20251010150802-sgpssxx","updated":"20251010150915"},"Children":[{"Type":"NodeText","Data":"每周第四天及星期四,回比星期三多1"}]},{"ID":"20251010150925-oew3cgx","Type":"NodeParagraph","Properties":{"id":"20251010150925-oew3cgx","updated":"20251010151026"},"Children":[{"Type":"NodeText","Data":"作用是给vlookup 函数带出来 取值一个索引"}]},{"ID":"20251010151156-hwt27xa","Type":"NodeParagraph","Properties":{"id":"20251010151156-hwt27xa","updated":"20251029085427"},"Children":[{"Type":"NodeText","Data":"1 2 3 4 5 6 7 8 9 10 "}]},{"ID":"20251010151204-2qvb5pt","Type":"NodeParagraph","Properties":{"id":"20251010151204-2qvb5pt","updated":"20251010151223"},"Children":[{"Type":"NodeText","Data":"数据库生成的预测数据"}]},{"ID":"20251010151944-18tpqht","Type":"NodeParagraph","Properties":{"id":"20251010151944-18tpqht","updated":"20251010151952"}},{"ID":"20251010151227-5hlojop","Type":"NodeParagraph","Properties":{"id":"20251010151227-5hlojop","updated":"20251010151434"},"Children":[{"Type":"NodeText","Data":"第一行 第二周 第三周 第四周 第五周 第六周 第7周 第8周 第9周 第10周 第11周"}]},{"ID":"20251010151234-czm6p7n","Type":"NodeParagraph","Properties":{"id":"20251010151234-czm6p7n","updated":"20251010151440"},"Children":[{"Type":"NodeText","Data":"料号 需求数 需求数 需求数 需求数 需求数 需求数 需求数 需求数 需求数 需求数"}]},{"ID":"20251010151520-zslow5o","Type":"NodeParagraph","Properties":{"id":"20251010151520-zslow5o","updated":"20251010151942"}},{"ID":"20251010151502-6zlc74l","Type":"NodeParagraph","Properties":{"id":"20251010151502-6zlc74l","updated":"20251010151730"},"Children":[{"Type":"NodeText","Data":"vlookup(匹配料号,匹配范围,(使用索引)取列值,0(精确匹配))"}]},{"ID":"20251010151739-0re3jgv","Type":"NodeParagraph","Properties":{"id":"20251010151739-0re3jgv","updated":"20251010152115"},"Children":[{"Type":"NodeText","Data":"我们改动 (使用索引)取列值,即可改变取函数的位置,索引为1就是取料号,索引为2,取第一周,索引为3,取第二周,"}]},{"ID":"20251010152120-nvnv139","Type":"NodeParagraph","Properties":{"id":"20251010152120-nvnv139","updated":"20251010152235"},"Children":[{"Type":"NodeText","Data":"所以此处构建从2开始递增的数组"}]},{"ID":"20251010151839-06uhsvv","Type":"NodeParagraph","Properties":{"id":"20251010151839-06uhsvv","updated":"20251010152152"},"Children":[{"Type":"NodeText","Data":" "},{"Type":"NodeTextMark","TextMarkType":"inline-math","TextMarkInlineMathContent":"COLUMN()-COLUMN("},{"Type":"NodeText","Data":"N$1)"}]},{"ID":"20251010151034-59031om","Type":"NodeParagraph","Properties":{"id":"20251010151034-59031om","updated":"20251010151034"}},{"ID":"20251010150953-ph5uxn5","Type":"NodeParagraph","Properties":{"id":"20251010150953-ph5uxn5","updated":"20251010152751"},"Children":[{"Type":"NodeText","Data":"但是我们预测的日期是固定的,所以生成的周数,以及周的开始都取决于预测的开始日期,但是我们每天的日期是变化的,或者我想看1个月后的需求,我希望他可以自动变换引用,给我带来不同的列值"}]},{"ID":"20251010152756-1r9emny","Type":"NodeParagraph","Properties":{"id":"20251010152756-1r9emny","updated":"20251010152757"},"Children":[{"Type":"NodeText","Data":"遂"}]},{"ID":"20251010150954-t7a4zux","Type":"NodeParagraph","Properties":{"id":"20251010150954-t7a4zux","updated":"20251010152815"},"Children":[{"Type":"NodeText","Data":"(表日期-预测表日期)/7"}]},{"ID":"20251010152819-ijg30l6","Type":"NodeParagraph","Properties":{"id":"20251010152819-ijg30l6","updated":"20251010152949"},"Children":[{"Type":"NodeText","Data":"使用两个日期相减并除于7,让引用列数自动向后偏移"}]},{"ID":"20251010152952-0bkjrh5","Type":"NodeParagraph","Properties":{"id":"20251010152952-0bkjrh5","updated":"20251010152952"}},{"ID":"20251010152953-5aryl4t","Type":"NodeParagraph","Properties":{"id":"20251010152953-5aryl4t","updated":"20251010152953"}},{"ID":"20251007104428-or2eom7","Type":"NodeHeading","HeadingLevel":3,"Properties":{"id":"20251007104428-or2eom7","updated":"20251007111702"},"Children":[{"Type":"NodeText","Data":"动态需求预测调整"}]},{"ID":"20251007104428-t440rq0","Type":"NodeParagraph","Properties":{"id":"20251007104428-t440rq0","updated":"20251007104428"},"Children":[{"Type":"NodeText","Data":"通过修改"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"0000"},{"Type":"NodeText","Data":"​工作表的"},{"Type":"NodeTextMark","TextMarkType":"code","TextMarkTextContent":"P2"},{"Type":"NodeText","Data":"​日期,系统实现动态重算:"}]},{"ID":"20251007104803-l1ak6we","Type":"NodeParagraph","Properties":{"id":"20251007104803-l1ak6we","updated":"20251007104821"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"动态生成时间轴。"},{"Type":"NodeText","Data":" 它通过计算一个基准周数,并利用列位置自动向右递增,从而快速创建出一系列连续的周序号。当基准日期变化时,整个周序列会自动更新。"}]},{"ID":"20251007104435-p1a57hu","Type":"NodeParagraph","Properties":{"id":"20251007104435-p1a57hu","updated":"20251007104435"}},{"ID":"20251007104428-b0lymn0","Type":"NodeCodeBlock","IsFencedCodeBlock":true,"Properties":{"id":"20251007104428-b0lymn0","updated":"20251007104428"},"Children":[{"Type":"NodeCodeBlockFenceOpenMarker","Data":"```"},{"Type":"NodeCodeBlockFenceInfoMarker","CodeBlockInfo":"bWVybWFpZA=="},{"Type":"NodeCodeBlockCode","Data":"graph LR\n P2[修改开始日期] --\u003e A[重算周偏移量]\n A --\u003e B[更新所有日期相关公式]\n B --\u003e C[刷新需求时间序列]\n C --\u003e D[重新计算L/T内需求]"},{"Type":"NodeCodeBlockFenceCloseMarker","Data":"```"}]},{"ID":"20251007111642-izxb155","Type":"NodeHeading","HeadingLevel":1,"Properties":{"id":"20251007111642-izxb155","updated":"20251009203256"},"Children":[{"Type":"NodeText","Data":"该数据库的设计逻辑"}]},{"ID":"20251007111642-l6ytg5w","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-l6ytg5w","updated":"20251009203256"},"Children":[{"ID":"20251007111642-o4mix32","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-o4mix32","updated":"20251009203256"},"Children":[{"ID":"20251007111642-sm90zpl","Type":"NodeParagraph","Properties":{"id":"20251007111642-sm90zpl","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"资料表两表"}]},{"ID":"20251007111642-eq4zkbw","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-eq4zkbw","updated":"20251009203256"},"Children":[{"ID":"20251007111642-3gwqprn","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-3gwqprn","updated":"20251009203256"},"Children":[{"ID":"20251007111642-wejbrgx","Type":"NodeParagraph","Properties":{"id":"20251007111642-wejbrgx","updated":"20251009203256"},"Children":[{"Type":"NodeText","Data":"材料的BOM表"}]},{"ID":"20251007111642-d6zjqhh","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-d6zjqhh","updated":"20251007111642"},"Children":[{"ID":"20251007111642-2yo66cm","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-2yo66cm","updated":"20251007111642"},"Children":[{"ID":"20251007111642-o8a7403","Type":"NodeParagraph","Properties":{"id":"20251007111642-o8a7403","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"主建料号,材料料号,用量"}]}]},{"ID":"20251007111642-9w5zd6a","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-9w5zd6a","updated":"20251007111642"},"Children":[{"ID":"20251007111642-5gxefmz","Type":"NodeParagraph","Properties":{"id":"20251007111642-5gxefmz","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193420-l407qx6.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]}]}]},{"ID":"20251007111642-epjb89c","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-epjb89c","updated":"20251007111642"},"Children":[{"ID":"20251007111642-aj9hgtc","Type":"NodeParagraph","Properties":{"id":"20251007111642-aj9hgtc","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"FORECAST"}]},{"ID":"20251007111642-5gqhb95","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-5gqhb95","updated":"20251007111642"},"Children":[{"ID":"20251007111642-531mbsr","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-531mbsr","updated":"20251007111642"},"Children":[{"ID":"20251007111642-yfg21il","Type":"NodeParagraph","Properties":{"id":"20251007111642-yfg21il","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"主建料号,LIC ,需求计划的日期"}]}]},{"ID":"20251007111642-pxc1edw","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-pxc1edw","updated":"20251007111642"},"Children":[{"ID":"20251007111642-7rlx0y1","Type":"NodeParagraph","Properties":{"id":"20251007111642-7rlx0y1","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193441-h1lesmn.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]}]}]}]}]},{"ID":"20251007111642-t4rnck3","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-t4rnck3","updated":"20251007111642"},"Children":[{"ID":"20251007111642-pytr6k4","Type":"NodeParagraph","Properties":{"id":"20251007111642-pytr6k4","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"查询三表"}]},{"ID":"20251007111642-xlozjt6","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-xlozjt6","updated":"20251007111642"},"Children":[{"ID":"20251007111642-vzd0v7v","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-vzd0v7v","updated":"20251007111642"},"Children":[{"ID":"20251007111642-i1etcr5","Type":"NodeParagraph","Properties":{"id":"20251007111642-i1etcr5","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"无BOM,链接两表,查询BOM表中是否有FORECAST中的主键料号"}]},{"ID":"20251007111642-tuz967q","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-tuz967q","updated":"20251007111642"},"Children":[{"ID":"20251007111642-8d1n9y1","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-8d1n9y1","updated":"20251007111642"},"Children":[{"ID":"20251007111642-sqr9e6a","Type":"NodeParagraph","Properties":{"id":"20251007111642-sqr9e6a","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193522-411uu60.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]},{"ID":"20251007111642-1jre5m7","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-1jre5m7","updated":"20251007111642"},"Children":[{"ID":"20251007111642-mei4bp3","Type":"NodeParagraph","Properties":{"id":"20251007111642-mei4bp3","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193639-u898344.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]}]}]},{"ID":"20251007111642-v7agjwf","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-v7agjwf","updated":"20251007111642"},"Children":[{"ID":"20251007111642-vum7q2v","Type":"NodeParagraph","Properties":{"id":"20251007111642-vum7q2v","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":" 表MS塑料件,"}]},{"ID":"20251007111642-18z9ltd","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-18z9ltd","updated":"20251007111642"},"Children":[{"ID":"20251007111642-55ilakh","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-55ilakh","updated":"20251007111642"},"Children":[{"ID":"20251007111642-2wr7b77","Type":"NodeParagraph","Properties":{"id":"20251007111642-2wr7b77","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"链接两表,主键料号,LIC,材料号,需求计划的日期x"},{"Type":"NodeTextMark","TextMarkType":"em","TextMarkTextContent":"用量xLIC"},{"Type":"NodeText","Data":",为总计做预处理,因为有些料是共用的"}]}]},{"ID":"20251007111642-kahro3c","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-kahro3c","updated":"20251007111642"},"Children":[{"ID":"20251007111642-92gnzid","Type":"NodeParagraph","Properties":{"id":"20251007111642-92gnzid","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193541-61t3szl.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]},{"ID":"20251007111642-oicymum","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-oicymum","updated":"20251007111642"},"Children":[{"ID":"20251007111642-2uu3jlk","Type":"NodeParagraph","Properties":{"id":"20251007111642-2uu3jlk","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193714-9vflbtk.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]}]}]},{"ID":"20251007111642-ixwjlcv","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-ixwjlcv","updated":"20251007111642"},"Children":[{"ID":"20251007111642-llfpdbe","Type":"NodeParagraph","Properties":{"id":"20251007111642-llfpdbe","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"表MS塑料件总计"}]},{"ID":"20251007111642-ffxo119","Type":"NodeList","ListData":{},"Properties":{"id":"20251007111642-ffxo119","updated":"20251007111642"},"Children":[{"ID":"20251007111642-827cb4u","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-827cb4u","updated":"20251007111642"},"Children":[{"ID":"20251007111642-t0na1f9","Type":"NodeParagraph","Properties":{"id":"20251007111642-t0na1f9","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"材料料号,需求计划的日期的材料用量,主要是对材料料号进行一个分组计数"}]},{"ID":"20251007111642-uu9n1hk","Type":"NodeParagraph","Properties":{"id":"20251007111642-uu9n1hk","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193604-mq2np4m.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]},{"ID":"20251007111642-kclqzp7","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007111642-kclqzp7","updated":"20251007111642"},"Children":[{"ID":"20251007111642-pasunkp","Type":"NodeParagraph","Properties":{"id":"20251007111642-pasunkp","updated":"20251007111642"},"Children":[{"Type":"NodeText","Data":"​"},{"Type":"NodeImage","Data":"span","Children":[{"Type":"NodeBang"},{"Type":"NodeOpenBracket"},{"Type":"NodeLinkText","Data":"image"},{"Type":"NodeCloseBracket"},{"Type":"NodeOpenParen"},{"Type":"NodeLinkDest","Data":"assets/image-20250915193746-259lb6v.png"},{"Type":"NodeCloseParen"}]},{"Type":"NodeText","Data":"​"}]}]}]}]}]}]}]},{"ID":"20251007104110-2uh5k3t","Type":"NodeHeading","HeadingLevel":1,"Properties":{"id":"20251007104110-2uh5k3t","updated":"20251008134509"},"Children":[{"Type":"NodeText","Data":"VBA代码中文注释"}]},{"ID":"20251007104110-jpr1zki","Type":"NodeHeading","HeadingLevel":2,"Properties":{"id":"20251007104110-jpr1zki","updated":"20251008134509"},"Children":[{"Type":"NodeText","Data":"子程序 A"}]},{"ID":"20251007104110-mbzdcls","Type":"NodeCodeBlock","IsFencedCodeBlock":true,"Properties":{"id":"20251007104110-mbzdcls","updated":"20251008134509"},"Children":[{"Type":"NodeCodeBlockFenceOpenMarker","Data":"```"},{"Type":"NodeCodeBlockFenceInfoMarker","CodeBlockInfo":"dmJh"},{"Type":"NodeCodeBlockCode","Data":"Sub A()\n ' 调用B子程序处理数据\n Call B\n ' 调用Q子程序生成数据透视表\n Call Q\n\tCall W\nEnd Sub\n"},{"Type":"NodeCodeBlockFenceCloseMarker","Data":"```"}]},{"ID":"20251007104110-pa95spg","Type":"NodeHeading","HeadingLevel":2,"Properties":{"id":"20251007104110-pa95spg","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"子程序 B - 主要数据处理程序"}]},{"ID":"20251007104110-kny6p89","Type":"NodeCodeBlock","IsFencedCodeBlock":true,"Properties":{"id":"20251007104110-kny6p89","updated":"20251007104110"},"Children":[{"Type":"NodeCodeBlockFenceOpenMarker","Data":"```"},{"Type":"NodeCodeBlockFenceInfoMarker","CodeBlockInfo":"dmJh"},{"Type":"NodeCodeBlockCode","Data":"Sub B()\n ' 关闭屏幕更新、自动计算和事件处理以提高性能\n Application.ScreenUpdating = False\n Application.Calculation = xlCalculationManual\n Application.EnableEvents = False\n \n ' 定义工作表变量\n Dim wsFocest As Worksheet, wsBOM As Worksheet, wsOutput As Worksheet, wsUnmatched As Worksheet\n ' 定义行号变量\n Dim lastRowF As Long, lastRowB As Long, lastRowO As Long, lastRowU As Long\n ' 定义循环计数器\n Dim i As Long, j As Long, k As Long, col As Long\n ' 定义数据变量\n Dim keyPart As String, material As String, usage As Double\n Dim lic As Double, focestCol1 As String, focestCol2 As String\n ' 定义56周数据数组\n Dim weekValues(1 To 56) As Double\n ' 定义字典对象用于存储BOM数据和未匹配数据\n Dim dictBOM As Object, dictUnmatched As Object\n Dim materialData As Variant\n Dim key As Variant\n \n ' 创建字典对象\n Set dictBOM = CreateObject(\"Scripting.Dictionary\")\n Set dictUnmatched = CreateObject(\"Scripting.Dictionary\")\n \n ' 设置工作表引用\n Set wsFocest = ThisWorkbook.Sheets(\"Focest\")\n Set wsBOM = ThisWorkbook.Sheets(\"BOM\")\n \n ' 删除并重新创建输出工作表\n On Error Resume Next\n Application.DisplayAlerts = False\n ThisWorkbook.Sheets(\"Output\").Delete\n ThisWorkbook.Sheets(\"Unmatched\").Delete\n Application.DisplayAlerts = True\n On Error GoTo 0\n \n ' 创建新的输出工作表\n Set wsOutput = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))\n wsOutput.Name = \"Output\"\n Set wsUnmatched = ThisWorkbook.Sheets.Add(After:=wsOutput)\n wsUnmatched.Name = \"Unmatched\"\n \n ' 阶段1: 读取BOM数据到字典中\n lastRowB = wsBOM.Cells(wsBOM.Rows.Count, \"A\").End(xlUp).Row\n Dim bomData As Variant\n bomData = wsBOM.Range(\"A2:C\" \u0026 lastRowB).Value\n \n ' 遍历BOM数据并填充字典\n For i = 1 To UBound(bomData, 1)\n keyPart = Trim(bomData(i, 1) \u0026 \"\")\n material = Trim(bomData(i, 2) \u0026 \"\")\n \n ' 安全处理使用量数值\n If IsNumeric(bomData(i, 3)) Then\n usage = CDbl(bomData(i, 3))\n Else\n usage = 0\n End If\n \n ' 如果关键部件和物料号都不为空,添加到字典\n If keyPart \u003c\u003e \"\" And material \u003c\u003e \"\" Then\n If Not dictBOM.Exists(keyPart) Then\n dictBOM.Add keyPart, New Collection\n End If\n dictBOM(keyPart).Add Array(material, usage)\n End If\n Next i\n \n ' 阶段2: 处理Focest数据 - 只处理有BOM匹配的行\n lastRowF = wsFocest.Cells(wsFocest.Rows.Count, \"A\").End(xlUp).Row\n Dim focestData As Variant\n focestData = wsFocest.Range(\"A2:BJ\" \u0026 lastRowF).Value ' 列A到BJ (A, B + 56周)\n \n ' 预计算输出数据大小\n Dim outputRowCount As Long\n outputRowCount = 0\n For i = 1 To UBound(focestData, 1)\n keyPart = Trim(focestData(i, 1) \u0026 \"\")\n If keyPart \u003c\u003e \"\" And dictBOM.Exists(keyPart) Then\n outputRowCount = outputRowCount + dictBOM(keyPart).Count\n End If\n Next i\n \n ' 准备输出数组\n Dim outputData() As Variant\n ReDim outputData(1 To outputRowCount, 1 To 60) ' 4个固定列 + 56个周列\n \n lastRowO = 0\n \n ' 处理Focest数据\n For i = 1 To UBound(focestData, 1)\n keyPart = Trim(focestData(i, 1) \u0026 \"\")\n If keyPart = \"\" Then GoTo NextFocestRow\n \n ' 只处理有BOM匹配的行\n If dictBOM.Exists(keyPart) Then\n focestCol1 = focestData(i, 1) \u0026 \"\"\n focestCol2 = focestData(i, 2) \u0026 \"\"\n \n ' 安全处理LIC值\n If IsNumeric(focestData(i, 2)) Then\n lic = CDbl(focestData(i, 2))\n Else\n lic = 0\n End If\n \n ' 提取周数据并进行错误处理\n For j = 1 To 56\n If IsNumeric(focestData(i, j + 2)) Then\n weekValues(j) = CDbl(focestData(i, j + 2))\n Else\n weekValues(j) = 0\n End If\n Next j\n \n ' 处理匹配的BOM项目\n For k = 1 To dictBOM(keyPart).Count\n materialData = dictBOM(keyPart)(k)\n material = materialData(0)\n usage = materialData(1)\n lastRowO = lastRowO + 1\n \n ' 填充输出数据\n outputData(lastRowO, 1) = focestCol1\n outputData(lastRowO, 2) = focestCol2\n outputData(lastRowO, 3) = material\n outputData(lastRowO, 4) = usage\n \n ' 计算每周数据:周值 × LIC × 使用量\n For col = 1 To 56\n outputData(lastRowO, col + 4) = weekValues(col) * lic * usage\n Next col\n Next k\n End If\n \nNextFocestRow:\n Next i\n \n ' 阶段3: 单独处理没有BOM匹配的Focest行\n For i = 1 To UBound(focestData, 1)\n keyPart = Trim(focestData(i, 1) \u0026 \"\")\n If keyPart \u003c\u003e \"\" And Not dictBOM.Exists(keyPart) Then\n If Not dictUnmatched.Exists(keyPart) Then\n dictUnmatched.Add keyPart, True\n End If\n End If\n Next i\n \n ' 批量写入输出数据\n If outputRowCount \u003e 0 Then\n wsOutput.Range(\"A2\").Resize(outputRowCount, 60).Value = outputData\n End If\n \n ' 生成未匹配数据工作表\n wsUnmatched.Cells(1, 1).Value = \"Unmatched Key Part Numbers\"\n \n ' 写入未匹配的数据\n If dictUnmatched.Count \u003e 0 Then\n Dim unmatchedData() As Variant\n ReDim unmatchedData(1 To dictUnmatched.Count, 1 To 1)\n i = 0\n For Each key In dictUnmatched.Keys\n i = i + 1\n unmatchedData(i, 1) = key\n Next key\n wsUnmatched.Range(\"A2\").Resize(dictUnmatched.Count, 1).Value = unmatchedData\n End If\n \n ' 设置输出表的标题行\n wsOutput.Cells(1, 1).Value = \"Focest Col1\"\n wsOutput.Cells(1, 2).Value = \"Focest Col2\"\n wsOutput.Cells(1, 3).Value = \"Material Number\"\n wsOutput.Cells(1, 4).Value = \"BOM Usage\"\n For col = 1 To 56\n wsOutput.Cells(1, col + 4).Value = \"Week\" \u0026 col\n Next col\n \n ' 自动调整列宽\n wsOutput.Columns.AutoFit\n wsUnmatched.Columns.AutoFit\n \n ' 恢复Excel设置\n Application.ScreenUpdating = True\n Application.Calculation = xlCalculationAutomatic\n Application.EnableEvents = True\n \n ' 显示处理完成消息\n MsgBox \"Processing completed! \" \u0026 outputRowCount \u0026 \" rows generated in Output sheet. \" \u0026 _\n dictUnmatched.Count \u0026 \" unmatched items found.\"\nEnd Sub\n"},{"Type":"NodeCodeBlockFenceCloseMarker","Data":"```"}]},{"ID":"20251007104110-v8p7fvg","Type":"NodeHeading","HeadingLevel":2,"Properties":{"id":"20251007104110-v8p7fvg","updated":"20251029103533"},"Children":[{"Type":"NodeText","Data":"子程序 Q - 数据透视表生成程序"}]},{"ID":"20251029103533-yv6hb33","Type":"NodeParagraph","Properties":{"id":"20251029103533-yv6hb33","updated":"20251029103533"}},{"ID":"20251007104110-5m3p17h","Type":"NodeCodeBlock","IsFencedCodeBlock":true,"Properties":{"id":"20251007104110-5m3p17h","updated":"20251007104110"},"Children":[{"Type":"NodeCodeBlockFenceOpenMarker","Data":"```"},{"Type":"NodeCodeBlockFenceInfoMarker","CodeBlockInfo":"dmJh"},{"Type":"NodeCodeBlockCode","Data":"Sub Q()\n ' 定义变量\n Dim wsSource As Worksheet, wsDest As Worksheet\n Dim pvtCache As PivotCache\n Dim pvtTable As PivotTable\n Dim lastRow As Long\n Dim SourceDataRange As Range\n Dim i As Long\n Dim fieldName As String\n Dim startTime As Double\n Dim dataField As PivotField\n\n ' 开始计时\n startTime = Timer\n\n ' 禁用Excel功能以提高性能\n OptimizeVBA True\n\n On Error GoTo ErrorHandler\n\n ' 检查源工作表是否存在\n If Not WorksheetExists(\"Output\") Then\n MsgBox \"Source worksheet 'Output' not found!\", vbCritical\n GoTo CleanUp\n End If\n\n ' 设置源工作表引用\n Set wsSource = ThisWorkbook.Worksheets(\"Output\")\n\n ' 如果目标工作表已存在则删除\n If WorksheetExists(\"Cutput\") Then\n Application.DisplayAlerts = False\n ThisWorkbook.Worksheets(\"Cutput\").Delete\n Application.DisplayAlerts = True\n End If\n\n ' 移除同名的现有数据透视表\n RemovePivotTable \"WeeklySummaryPivot\"\n\n ' 创建新的数据透视表工作表\n Set wsDest = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))\n wsDest.Name = \"Cutput\"\n\n ' 查找源工作表的最后一行数据\n lastRow = FindLastRow(wsSource)\n\n ' 验证是否有足够的数据\n If lastRow \u003c 2 Then\n MsgBox \"Insufficient data in source worksheet!\", vbExclamation\n GoTo CleanUp\n End If\n\n ' 定义源数据范围\n Set SourceDataRange = wsSource.Range(\"A1:BH\" \u0026 lastRow)\n\n ' 从源数据创建数据透视缓存\n Set pvtCache = ThisWorkbook.PivotCaches.Create( _\n SourceType:=xlDatabase, _\n sourceData:=SourceDataRange)\n\n ' 创建数据透视表\n Set pvtTable = pvtCache.CreatePivotTable( _\n TableDestination:=wsDest.Range(\"A3\"), _\n tableName:=\"WeeklySummaryPivot\")\n\n ' 配置数据透视表\n With pvtTable\n .ManualUpdate = True\n .RowAxisLayout xlTabularRow\n \n ' 添加行字段 - 物料号(C列)\n .AddFields RowFields:=wsSource.Cells(1, 3).Value\n \n ' 添加数据字段(E列到BH列)\n For i = 5 To 60\n fieldName = wsSource.Cells(1, i).Value\n \n If fieldName \u003c\u003e \"\" Then\n On Error Resume Next\n Set dataField = .PivotFields(fieldName)\n If Err.Number = 0 Then\n With dataField\n .Orientation = xlDataField\n .Function = xlSum\n .NumberFormat = \"#,##0\"\n \n If InStr(.Caption, \"Sum of\") = 0 Then\n .Caption = \"Sum of \" \u0026 fieldName\n End If\n End With\n Else\n Err.Clear\n End If\n On Error GoTo ErrorHandler\n End If\n Next i\n \n ' 应用格式设置\n .ShowTableStyleRowStripes = True\n .TableStyle2 = \"PivotStyleMedium9\"\n .ManualUpdate = False\n End With\n\n ' 添加标题和时间戳\n With wsDest\n .Range(\"A1\").Value = \"Weekly Summary Report\"\n .Range(\"A1\").Font.Bold = True\n .Range(\"A1\").Font.Size = 14\n \n .Range(\"A2\").Value = \"Generated: \" \u0026 Now()\n .Range(\"A2\").Font.Italic = True\n End With\n\n ' 自动调整列宽\n If wsDest.UsedRange.Count \u003e 1 Then\n wsDest.UsedRange.Columns.AutoFit\n End If\n\n ' 成功消息\n MsgBox \"Pivot table created successfully in \" \u0026 Format(Timer - startTime, \"0.00\") \u0026 _\n \" seconds! Location: Worksheet \" \u0026 wsDest.Name, vbInformation\n\nCleanUp:\n ' 清理和恢复设置\n OptimizeVBA False\n Set pvtTable = Nothing\n Set pvtCache = Nothing\n Set SourceDataRange = Nothing\n Set wsSource = Nothing\n Set wsDest = Nothing\n\n Exit Sub\n\nErrorHandler:\n ' 错误处理\n MsgBox \"Error \" \u0026 Err.Number \u0026 \": \" \u0026 Err.Description \u0026 vbCrLf \u0026 _\n \"Error occurred at line: \" \u0026 Erl, vbCritical\n Resume CleanUp\nEnd Sub\n\n' 辅助函数:优化VBA性能\nSub OptimizeVBA(Optimize As Boolean)\n With Application\n If Optimize Then\n .ScreenUpdating = False\n .Calculation = xlCalculationManual\n .DisplayAlerts = False\n .EnableEvents = False\n .StatusBar = \"Processing... Please wait\"\n Else\n .ScreenUpdating = True\n .Calculation = xlCalculationAutomatic\n .DisplayAlerts = True\n .EnableEvents = True\n .StatusBar = False\n End If\n End With\nEnd Sub\n\n' 辅助函数:检查工作表是否存在\nFunction WorksheetExists(sheetName As String) As Boolean\n On Error Resume Next\n WorksheetExists = Not ThisWorkbook.Sheets(sheetName) Is Nothing\n On Error GoTo 0\nEnd Function\n\n' 辅助函数:按名称移除数据透视表\nSub RemovePivotTable(tableName As String)\n Dim ws As Worksheet\n Dim pt As PivotTable\n\n On Error Resume Next\n\n For Each ws In ThisWorkbook.Worksheets\n Set pt = ws.PivotTables(tableName)\n If Not pt Is Nothing Then\n pt.TableRange2.Clear\n Exit For\n End If\n Next ws\n\n On Error GoTo 0\nEnd Sub\n\n' 辅助函数:查找有数据的最后一行\nFunction FindLastRow(ws As Worksheet) As Long\n On Error Resume Next\n FindLastRow = ws.Cells(ws.Rows.Count, \"A\").End(xlUp).Row\n If FindLastRow = 1 And ws.Cells(1, 1).Value = \"\" Then FindLastRow = 0\n If Err.Number \u003c\u003e 0 Then FindLastRow = 0\n On Error GoTo 0\nEnd Function\n"},{"Type":"NodeCodeBlockFenceCloseMarker","Data":"```"}]},{"ID":"20251008101435-eupymfm","Type":"NodeHeading","HeadingLevel":1,"Properties":{"id":"20251008101435-eupymfm","updated":"20251008134040"},"Children":[{"Type":"NodeText","Data":"子程序 w - 库存数据透视表生成程序"}]},{"ID":"20251008101506-fino2jd","Type":"NodeCodeBlock","IsFencedCodeBlock":true,"Properties":{"id":"20251008101506-fino2jd","updated":"20251008133948"},"Children":[{"Type":"NodeCodeBlockFenceOpenMarker","Data":"```"},{"Type":"NodeCodeBlockFenceInfoMarker","CodeBlockInfo":"dW5kZWZpbmVk"},{"Type":"NodeCodeBlockCode","Data":"Sub W()\n ' =========================================================================\n ' USER CONFIGURATION AREA - Modify parameters below\n ' 用户配置区域 - 修改以下参数\n ' =========================================================================\n \n ' Data source settings\n ' 数据源设置\n Const SOURCE_SHEET As String = \"KCB\" ' Source worksheet name - 源工作表名称\n Const PIVOT_SHEET_NAME As String = \"MaterialSummary\" ' Output pivot table sheet name - 输出数据透视表的工作表名称\n Const HEADER_ROW As Long = 1 ' Header row number - 标题行号\n \n ' Custom column settings\n ' 自定义列设置\n Dim CUSTOM_COLUMNS As Variant\n CUSTOM_COLUMNS = Array(\"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\") ' Columns to include - 要包含的列\n \n ' Pivot table field settings\n ' 数据透视表字段设置\n Const ROW_FIELD_COLUMN As String = \"B\" ' Row field (row labels) column - 行字段(行标签)列\n Dim DATA_FIELDS As Variant\n DATA_FIELDS = Array(\"C\", \"D\", \"E\", \"F\", \"G\", \"H\") ' Data field columns to summarize - 要汇总的数据字段列\n \n ' Performance optimization settings\n ' 性能优化设置\n Const USE_ARRAY_METHOD As Boolean = False ' Disable array method to avoid 1004 errors - 禁用数组方法以避免1004错误\n \n ' Output settings\n ' 输出设置\n Const SHOW_PERFORMANCE_STATS As Boolean = True ' Show performance statistics - 显示性能统计信息\n Const AUTO_ADJUST_COLUMNS As Boolean = True ' Auto-adjust column widths - 自动调整列宽\n \n ' =========================================================================\n ' MAIN PROGRAM - Code below generally doesn't need modification\n ' 主程序 - 以下代码通常不需要修改\n ' =========================================================================\n \n ' 记录开始时间用于性能统计\n Dim startTime As Double\n If SHOW_PERFORMANCE_STATS Then startTime = Timer\n \n ' 声明变量\n Dim wsData As Worksheet, wsPivot As Worksheet ' 工作表对象\n Dim rngData As Range ' 数据范围对象\n Dim lastRow As Long, lastCol As Long ' 最后行和列\n \n ' Performance optimization settings - 性能优化设置\n Application.ScreenUpdating = False ' 关闭屏幕更新以提高性能\n Application.Calculation = xlCalculationManual ' 手动计算模式\n Application.EnableEvents = False ' 禁用事件\n Application.StatusBar = \"Preparing data...\" ' 状态栏显示进度\n \n ' 错误处理\n On Error GoTo ErrorHandler\n \n ' Check if source sheet exists - 检查源工作表是否存在\n If Not WorksheetExists(SOURCE_SHEET) Then\n MsgBox \"Source worksheet '\" \u0026 SOURCE_SHEET \u0026 \"' not found!\", vbExclamation\n GoTo CleanUp\n End If\n \n ' Set source worksheet - 设置源工作表\n Set wsData = ThisWorkbook.Worksheets(SOURCE_SHEET)\n \n ' Get data range - 获取数据范围\n With wsData\n ' 找到最后一行(从A列向上查找)\n lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row\n ' 找到最后一列(从标题行向右查找)\n lastCol = .Cells(HEADER_ROW, .Columns.Count).End(xlToLeft).Column\n \n ' 检查是否有数据\n If lastRow \u003c= HEADER_ROW Then\n MsgBox \"No data found in worksheet!\", vbExclamation\n GoTo CleanUp\n End If\n \n Application.StatusBar = \"Reading data (\" \u0026 lastRow \u0026 \" rows)...\"\n \n ' Build data range - 构建数据范围\n Set rngData = BuildSafeRange(wsData, HEADER_ROW, lastRow, CUSTOM_COLUMNS)\n \n ' 验证数据范围\n If rngData Is Nothing Then\n MsgBox \"Failed to create data range. Please check column references.\", vbExclamation\n GoTo CleanUp\n End If\n \n If rngData.Rows.Count \u003c= 1 Then\n MsgBox \"No data rows found after applying column filters.\", vbExclamation\n GoTo CleanUp\n End If\n End With\n \n ' Delete existing worksheet - 删除已存在的工作表\n Application.DisplayAlerts = False ' 禁用警告提示\n On Error Resume Next ' 忽略错误(如果工作表不存在)\n ThisWorkbook.Worksheets(PIVOT_SHEET_NAME).Delete\n On Error GoTo ErrorHandler ' 恢复错误处理\n Application.DisplayAlerts = True ' 恢复警告提示\n \n ' Create new worksheet - 创建新工作表\n Application.StatusBar = \"Creating pivot table...\"\n Set wsPivot = ThisWorkbook.Worksheets.Add\n wsPivot.Name = PIVOT_SHEET_NAME\n \n ' Create pivot table (now uses DATA_FIELDS setting) - 创建数据透视表(使用DATA_FIELDS设置)\n CreatePivotTableWithDataFields wsPivot, rngData, ROW_FIELD_COLUMN, DATA_FIELDS, wsData, HEADER_ROW\n \n ' Apply formatting - 应用格式设置\n Application.StatusBar = \"Applying formatting...\"\n With wsPivot\n ' 设置标题\n .Range(\"A1\").Value = \"Material Summary\"\n .Range(\"A1\").Font.Bold = True\n .Range(\"A1\").Font.Size = 14\n \n ' 自动调整列宽\n If AUTO_ADJUST_COLUMNS Then\n .Columns.AutoFit\n End If\n \n ' 添加时间戳\n .Range(\"A2\").Value = \"Created: \" \u0026 Now()\n .Range(\"A2\").Font.Italic = True\n .Range(\"A2\").Font.Color = RGB(100, 100, 100)\n End With\n \n ' Show results - 显示结果\n Application.StatusBar = False\n \n ' 显示性能统计信息\n If SHOW_PERFORMANCE_STATS Then\n Dim endTime As Double, elapsedTime As Double\n endTime = Timer\n elapsedTime = endTime - startTime\n \n MsgBox \"Pivot table created successfully!\" \u0026 vbCrLf \u0026 _\n \"Data rows: \" \u0026 (lastRow - HEADER_ROW) \u0026 vbCrLf \u0026 _\n \"Columns included: \" \u0026 (UBound(CUSTOM_COLUMNS) - LBound(CUSTOM_COLUMNS) + 1) \u0026 vbCrLf \u0026 _\n \"Data fields: \" \u0026 Join(DATA_FIELDS, \", \") \u0026 vbCrLf \u0026 _\n \"Processing time: \" \u0026 Format(elapsedTime, \"0.00\") \u0026 \" seconds\", vbInformation\n Else\n MsgBox \"Pivot table created successfully!\", vbInformation\n End If\n \nCleanUp:\n ' 清理和恢复设置\n Application.ScreenUpdating = True\n Application.Calculation = xlCalculationAutomatic\n Application.EnableEvents = True\n Application.StatusBar = False\n Exit Sub\n\nErrorHandler:\n ' 错误处理\n MsgBox \"Error \" \u0026 Err.Number \u0026 \": \" \u0026 Err.Description \u0026 vbCrLf \u0026 _\n \"Please check your configuration settings and data structure.\", vbCritical\n GoTo CleanUp\nEnd Sub\n\n' =========================================================================\n' Fixed pivot table creation function - Now correctly uses DATA_FIELDS setting\n' 修复的数据透视表创建函数 - 现在正确使用DATA_FIELDS设置\n' =========================================================================\n\nSub CreatePivotTableWithDataFields(wsPivot As Worksheet, rngData As Range, rowFieldCol As String, dataFields As Variant, wsData As Worksheet, headerRow As Long)\n ' Purpose: Create pivot table using configured data fields\n ' 目的:使用配置的数据字段创建数据透视表\n \n On Error GoTo ErrorHandler\n \n Dim pc As PivotCache, pt As PivotTable ' 数据透视缓存和透视表对象\n Dim i As Long, fieldIndex As Long ' 循环计数器\n Dim rowFieldTitle As String, dataFieldTitle As String ' 字段标题\n Dim colIndex As Long ' 列索引\n \n ' Validate data range - 验证数据范围\n If rngData Is Nothing Then\n MsgBox \"Data range is empty. Cannot create pivot table.\", vbExclamation\n Exit Sub\n End If\n \n If rngData.Rows.Count \u003c= 1 Then\n MsgBox \"Not enough data rows for pivot table.\", vbExclamation\n Exit Sub\n End If\n \n ' Create pivot cache - 创建数据透视缓存\n Set pc = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, sourceData:=rngData)\n \n ' Create pivot table - 创建数据透视表\n Set pt = pc.CreatePivotTable(TableDestination:=wsPivot.Range(\"A3\"), tableName:=\"CustomPivot\")\n \n With pt\n ' Add row field (using configured row field column) - 添加行字段(使用配置的行字段列)\n colIndex = GetColumnIndex(rowFieldCol)\n If colIndex \u003e 0 Then\n rowFieldTitle = wsData.Cells(headerRow, colIndex).Value\n .PivotFields(rowFieldTitle).Orientation = xlRowField\n Else\n ' If row field is invalid, use first column as default row field\n ' 如果行字段无效,使用第一列作为默认行字段\n .PivotFields(1).Orientation = xlRowField\n End If\n \n ' Add data fields (using configured data fields) - 添加数据字段(使用配置的数据字段)\n For i = LBound(dataFields) To UBound(dataFields)\n colIndex = GetColumnIndex(dataFields(i))\n If colIndex \u003e 0 Then\n dataFieldTitle = wsData.Cells(headerRow, colIndex).Value\n On Error Resume Next ' Skip fields that cannot be added - 跳过无法添加的字段\n .AddDataField .PivotFields(dataFieldTitle), \"Sum of \" \u0026 dataFieldTitle, xlSum\n On Error GoTo ErrorHandler\n End If\n Next i\n \n ' If no data fields were successfully added, add all numeric fields as fallback\n ' 如果没有成功添加数据字段,添加所有数字字段作为后备方案\n If .dataFields.Count = 0 Then\n MsgBox \"Configured data fields are invalid. Adding all numeric fields.\", vbExclamation\n For i = 2 To .PivotFields.Count\n On Error Resume Next\n .AddDataField .PivotFields(i), \"Sum of \" \u0026 .PivotFields(i).Name, xlSum\n On Error GoTo ErrorHandler\n Next i\n End If\n \n ' Apply style - 应用样式\n On Error Resume Next\n .TableStyle2 = \"PivotStyleLight16\" ' 设置透视表样式\n .RowAxisLayout xlTabularRow ' 设置行轴布局\n On Error GoTo ErrorHandler\n End With\n \n Exit Sub\n \nErrorHandler:\n MsgBox \"Error creating pivot table: \" \u0026 Err.Description, vbExclamation\nEnd Sub\n\n' =========================================================================\n' Helper functions - 辅助函数\n' =========================================================================\n\nFunction BuildSafeRange(ws As Worksheet, headerRow As Long, lastRow As Long, customCols As Variant) As Range\n ' Purpose: Safely build data range - 安全构建数据范围\n \n On Error GoTo ErrorHandler\n \n Dim firstCol As Long, lastCol As Long\n Dim colIndex As Long, i As Long\n \n ' Validate custom column references - 验证自定义列引用\n For i = LBound(customCols) To UBound(customCols)\n colIndex = GetColumnIndex(customCols(i))\n If colIndex \u003c 1 Or colIndex \u003e ws.Columns.Count Then\n MsgBox \"Invalid column reference: \" \u0026 customCols(i), vbExclamation\n Set BuildSafeRange = Nothing\n Exit Function\n End If\n Next i\n \n ' 获取第一列和最后一列的索引\n firstCol = GetColumnIndex(customCols(LBound(customCols)))\n lastCol = GetColumnIndex(customCols(UBound(customCols)))\n \n ' 验证标题行位置\n If headerRow \u003e lastRow Then\n MsgBox \"Header row is after last data row!\", vbExclamation\n Set BuildSafeRange = Nothing\n Exit Function\n End If\n \n ' 创建数据范围\n Set BuildSafeRange = ws.Range(ws.Cells(headerRow, firstCol), ws.Cells(lastRow, lastCol))\n \n ' 验证范围是否创建成功\n If BuildSafeRange Is Nothing Then\n MsgBox \"Failed to create data range.\", vbExclamation\n Exit Function\n End If\n \n Exit Function\n \nErrorHandler:\n MsgBox \"Error in BuildSafeRange: \" \u0026 Err.Description, vbExclamation\n Set BuildSafeRange = Nothing\nEnd Function\n\nFunction GetColumnIndex(col As Variant) As Long\n ' Purpose: Convert column letter to column index - 将列字母转换为列索引\n \n On Error GoTo ErrorHandler\n \n If VarType(col) = vbString Then\n ' 如果是字符串(如\"A\", \"B\"),转换为列索引\n GetColumnIndex = Range(col \u0026 \"1\").Column\n Else\n ' 如果已经是数字,直接返回\n GetColumnIndex = col\n End If\n \n Exit Function\n \nErrorHandler:\n GetColumnIndex = 0 ' 转换失败返回0\nEnd Function\n\nFunction WorksheetExists(sheetName As String) As Boolean\n ' Purpose: Check if worksheet exists - 检查工作表是否存在\n \n On Error Resume Next\n WorksheetExists = Not ThisWorkbook.Worksheets(sheetName) Is Nothing\n On Error GoTo 0\nEnd Function\n\n' =========================================================================\n' Diagnostic tools - 诊断工具\n' =========================================================================\n\nSub CheckDataFields()\n ' Purpose: Check if data field configuration is correct - 检查数据字段配置是否正确\n \n Dim wsData As Worksheet\n Dim dataField As Variant\n Dim colIndex As Long\n Dim result As String\n \n Set wsData = ThisWorkbook.Worksheets(\"KCB\")\n \n result = \"Data Fields Check:\" \u0026 vbCrLf \u0026 vbCrLf\n \n ' 检查每个数据字段\n For Each dataField In Array(\"C\", \"E\") ' Using configured DATA_FIELDS - 使用配置的DATA_FIELDS\n colIndex = GetColumnIndex(dataField)\n If colIndex \u003e 0 Then\n result = result \u0026 \"Column \" \u0026 dataField \u0026 \": Valid\" \u0026 vbCrLf \u0026 _\n \" Index: \" \u0026 colIndex \u0026 vbCrLf \u0026 _\n \" Title: '\" \u0026 wsData.Cells(1, colIndex).Value \u0026 \"'\" \u0026 vbCrLf \u0026 vbCrLf\n Else\n result = result \u0026 \"Column \" \u0026 dataField \u0026 \": Invalid\" \u0026 vbCrLf \u0026 vbCrLf\n End If\n Next dataField\n \n MsgBox result, vbInformation, \"Data Fields Check\"\nEnd Sub\n\n' =========================================================================\n' Simple version - Use if above code still has issues\n' 简化版本 - 如果上述代码仍有问题使用\n' =========================================================================\n\nSub SimplePivotTable()\n ' Very simple version to avoid 1004 errors - 非常简单的版本以避免1004错误\n \n Application.ScreenUpdating = False\n Application.Calculation = xlCalculationManual\n Application.EnableEvents = False\n \n On Error GoTo ErrorHandler\n \n Dim wsData As Worksheet, wsPivot As Worksheet\n Dim rngData As Range\n Dim lastRow As Long\n Dim pt As PivotTable ' 声明透视表变量\n \n ' Configuration - modify as needed - 配置 - 根据需要修改\n Const SOURCE_SHEET As String = \"KCB\"\n Const PIVOT_SHEET_NAME As String = \"SimpleSummary\"\n \n ' Check if source exists - 检查源是否存在\n If Not WorksheetExists(SOURCE_SHEET) Then\n MsgBox \"Worksheet '\" \u0026 SOURCE_SHEET \u0026 \"' not found!\", vbExclamation\n GoTo CleanUp\n End If\n \n Set wsData = ThisWorkbook.Worksheets(SOURCE_SHEET)\n \n ' Find last row in column B (material column) - 在B列(物料列)中查找最后一行\n lastRow = wsData.Cells(wsData.Rows.Count, \"B\").End(xlUp).Row\n \n If lastRow \u003c= 1 Then\n MsgBox \"No data found!\", vbExclamation\n GoTo CleanUp\n End If\n \n ' Use simple range (columns B to I) - 使用简单范围(B到I列)\n Set rngData = wsData.Range(\"B1:I\" \u0026 lastRow)\n \n ' Delete existing sheet - 删除现有工作表\n Application.DisplayAlerts = False\n On Error Resume Next\n ThisWorkbook.Worksheets(PIVOT_SHEET_NAME).Delete\n On Error GoTo ErrorHandler\n Application.DisplayAlerts = True\n \n ' Create pivot table using simple method - 使用简单方法创建数据透视表\n Set wsPivot = ThisWorkbook.Worksheets.Add\n wsPivot.Name = PIVOT_SHEET_NAME\n \n ' This method is less likely to cause 1004 errors - 此方法不太可能引起1004错误\n wsPivot.Activate\n Set rngData = wsData.Range(\"B1:I\" \u0026 lastRow)\n \n ' Use PivotTableWizard to create pivot table - 使用PivotTableWizard创建数据透视表\n Set pt = wsPivot.PivotTableWizard(SourceType:=xlDatabase, _\n sourceData:=rngData, _\n TableDestination:=wsPivot.Range(\"A3\"))\n \n ' Simple configuration - 简单配置\n With pt\n .PivotFields(wsData.Range(\"B1\").Value).Orientation = xlRowField ' B列作为行字段\n .PivotFields(wsData.Range(\"E1\").Value).Orientation = xlDataField ' E列作为数据字段\n .PivotFields(wsData.Range(\"H1\").Value).Orientation = xlDataField ' H列作为数据字段\n .PivotFields(wsData.Range(\"I1\").Value).Orientation = xlDataField ' I列作为数据字段\n End With\n \n ' Simple formatting - 简单格式设置\n wsPivot.Range(\"A1\").Value = \"Simple Material Summary\"\n wsPivot.Columns.AutoFit\n \n MsgBox \"Simple pivot table created successfully!\", vbInformation\n \nCleanUp:\n Application.ScreenUpdating = True\n Application.Calculation = xlCalculationAutomatic\n Application.EnableEvents = True\n Exit Sub\n\nErrorHandler:\n MsgBox \"Error \" \u0026 Err.Number \u0026 \": \" \u0026 Err.Description, vbCritical\n GoTo CleanUp\nEnd Sub\n\nSub CheckDataRange()\n ' Purpose: Check data range to help diagnose issues - 检查数据范围以帮助诊断问题\n \n Dim ws As Worksheet\n Dim rng As Range\n Dim lastRow As Long, lastCol As Long\n \n Set ws = ThisWorkbook.Worksheets(\"KCB\")\n \n ' 获取数据范围信息\n lastRow = ws.Cells(ws.Rows.Count, \"B\").End(xlUp).Row\n lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column\n \n ' 显示诊断信息\n MsgBox \"Data Check:\" \u0026 vbCrLf \u0026 _\n \"Last row: \" \u0026 lastRow \u0026 vbCrLf \u0026 _\n \"Last column: \" \u0026 lastCol \u0026 vbCrLf \u0026 _\n \"Header row data: \" \u0026 ws.Range(\"A1\").Value \u0026 \"...\" \u0026 ws.Cells(1, lastCol).Value, _\n vbInformation, \"Data Diagnostic\"\n \n ' 选择数据样本以便查看\n If lastRow \u003e 1 Then\n Set rng = ws.Range(\"A1\").Resize(2, lastCol)\n rng.Select\n End If\nEnd Sub\n\n"},{"Type":"NodeCodeBlockFenceCloseMarker","Data":"```"}]},{"ID":"20251007104110-9k50axy","Type":"NodeParagraph","Properties":{"id":"20251007104110-9k50axy","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"代码功能总结"}]},{"ID":"20251007104110-2p9o3tb","Type":"NodeParagraph","Properties":{"id":"20251007104110-2p9o3tb","updated":"20251008134040"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"子程序A"},{"Type":"NodeText","Data":":主程序入口,依次调用B和Q, M子程序"}]},{"ID":"20251007104110-x04g2t3","Type":"NodeParagraph","Properties":{"id":"20251007104110-x04g2t3","updated":"20251007104110"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"子程序B"},{"Type":"NodeText","Data":":"}]},{"ID":"20251007104110-mdk4nrh","Type":"NodeList","ListData":{"Typ":1},"Properties":{"id":"20251007104110-mdk4nrh","updated":"20251007104110"},"Children":[{"ID":"20251007104110-78alrwz","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"MS4=","Num":1},"Properties":{"id":"20251007104110-78alrwz","updated":"20251007104110"},"Children":[{"ID":"20251007104110-y2w6cka","Type":"NodeParagraph","Properties":{"id":"20251007104110-y2w6cka","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"读取BOM(物料清单)数据并建立字典索引"}]}]},{"ID":"20251007104110-jewpl19","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"Mi4=","Num":2},"Properties":{"id":"20251007104110-jewpl19","updated":"20251007104110"},"Children":[{"ID":"20251007104110-pl0ocv2","Type":"NodeParagraph","Properties":{"id":"20251007104110-pl0ocv2","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"处理Focest数据,与BOM数据进行匹配计算"}]}]},{"ID":"20251007104110-n8npioj","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"My4=","Num":3},"Properties":{"id":"20251007104110-n8npioj","updated":"20251007104110"},"Children":[{"ID":"20251007104110-n4kbxkg","Type":"NodeParagraph","Properties":{"id":"20251007104110-n4kbxkg","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"生成包含物料用量和周数据的输出表"}]}]},{"ID":"20251007104110-buwct96","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"NC4=","Num":4},"Properties":{"id":"20251007104110-buwct96","updated":"20251007104110"},"Children":[{"ID":"20251007104110-u57rtfv","Type":"NodeParagraph","Properties":{"id":"20251007104110-u57rtfv","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"记录未匹配的关键部件号到单独工作表"}]}]}]},{"ID":"20251007104110-epkbb6q","Type":"NodeParagraph","Properties":{"id":"20251007104110-epkbb6q","updated":"20251007104110"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"子程序Q"},{"Type":"NodeText","Data":":"}]},{"ID":"20251007104110-1k3ztzp","Type":"NodeList","ListData":{"Typ":1},"Properties":{"id":"20251007104110-1k3ztzp","updated":"20251007104110"},"Children":[{"ID":"20251007104110-ssaf42k","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"MS4=","Num":1},"Properties":{"id":"20251007104110-ssaf42k","updated":"20251007104110"},"Children":[{"ID":"20251007104110-3zpxiwb","Type":"NodeParagraph","Properties":{"id":"20251007104110-3zpxiwb","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"基于B子程序生成的输出表创建数据透视表"}]}]},{"ID":"20251007104110-can3jf8","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"Mi4=","Num":2},"Properties":{"id":"20251007104110-can3jf8","updated":"20251007104110"},"Children":[{"ID":"20251007104110-09i643v","Type":"NodeParagraph","Properties":{"id":"20251007104110-09i643v","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"按物料号汇总各周数据"}]}]},{"ID":"20251007104110-l3a8e41","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"My4=","Num":3},"Properties":{"id":"20251007104110-l3a8e41","updated":"20251007104110"},"Children":[{"ID":"20251007104110-zkavtaf","Type":"NodeParagraph","Properties":{"id":"20251007104110-zkavtaf","updated":"20251007104110"},"Children":[{"Type":"NodeText","Data":"生成格式化的周汇总报告"}]}]}]},{"ID":"20251007104110-p70n2ap","Type":"NodeParagraph","Properties":{"id":"20251007104110-p70n2ap","updated":"20251007104110"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"辅助函数"},{"Type":"NodeText","Data":":提供性能优化、工作表检查、数据透视表管理等实用功能"}]},{"ID":"20251007104234-4cu6rrj","Type":"NodeHeading","HeadingLevel":3,"Properties":{"id":"20251007104234-4cu6rrj","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"1. Output工作表(详细计算结果)"}]},{"ID":"20251007104234-e7qb5rr","Type":"NodeParagraph","Properties":{"id":"20251007104234-e7qb5rr","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"数据结构:"}]},{"ID":"20251007104234-txu57xv","Type":"NodeList","ListData":{},"Properties":{"id":"20251007104234-txu57xv","updated":"20251007104234"},"Children":[{"ID":"20251007104234-0bxv2y0","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-0bxv2y0","updated":"20251007104234"},"Children":[{"ID":"20251007104234-5oy2qrt","Type":"NodeParagraph","Properties":{"id":"20251007104234-5oy2qrt","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"A列"},{"Type":"NodeText","Data":":父料号"}]}]},{"ID":"20251007104234-qbbgzn5","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-qbbgzn5","updated":"20251007104234"},"Children":[{"ID":"20251007104234-s5l6uui","Type":"NodeParagraph","Properties":{"id":"20251007104234-s5l6uui","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"B列"},{"Type":"NodeText","Data":":LIC系数(需求放大系数)"}]}]},{"ID":"20251007104234-953gcfx","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-953gcfx","updated":"20251007104234"},"Children":[{"ID":"20251007104234-ah37p39","Type":"NodeParagraph","Properties":{"id":"20251007104234-ah37p39","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"C列"},{"Type":"NodeText","Data":":子料号"}]}]},{"ID":"20251007104234-7u0kb66","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-7u0kb66","updated":"20251007104234"},"Children":[{"ID":"20251007104234-3aqvd95","Type":"NodeParagraph","Properties":{"id":"20251007104234-3aqvd95","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"D列"},{"Type":"NodeText","Data":":BOM用量比例"}]}]},{"ID":"20251007104234-rvvnzjk","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-rvvnzjk","updated":"20251007104234"},"Children":[{"ID":"20251007104234-b69x0xh","Type":"NodeParagraph","Properties":{"id":"20251007104234-b69x0xh","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"E-BH列"},{"Type":"NodeText","Data":":56周的需求量计算(周1到周56)"}]}]}]},{"ID":"20251007104234-hfslodc","Type":"NodeParagraph","Properties":{"id":"20251007104234-hfslodc","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"使用场景"},{"Type":"NodeText","Data":":需要查看具体料号层级需求计算明细时使用"}]},{"ID":"20251007104234-vwfajdj","Type":"NodeHeading","HeadingLevel":3,"Properties":{"id":"20251007104234-vwfajdj","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"2. Cutput工作表(需求汇总透视表)"}]},{"ID":"20251007104234-6wjn3sj","Type":"NodeParagraph","Properties":{"id":"20251007104234-6wjn3sj","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"数据结构:"}]},{"ID":"20251007104234-a6cpl7g","Type":"NodeList","ListData":{},"Properties":{"id":"20251007104234-a6cpl7g","updated":"20251007104234"},"Children":[{"ID":"20251007104234-l8jf64k","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-l8jf64k","updated":"20251007104234"},"Children":[{"ID":"20251007104234-xeygha8","Type":"NodeParagraph","Properties":{"id":"20251007104234-xeygha8","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"A列"},{"Type":"NodeText","Data":":料号"}]}]},{"ID":"20251007104234-37ijdow","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-37ijdow","updated":"20251007104234"},"Children":[{"ID":"20251007104234-9oiu7wj","Type":"NodeParagraph","Properties":{"id":"20251007104234-9oiu7wj","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"B列开始"},{"Type":"NodeText","Data":":各周需求总和"}]}]},{"ID":"20251007104234-95gtdk4","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-95gtdk4","updated":"20251007104234"},"Children":[{"ID":"20251007104234-jg6348e","Type":"NodeParagraph","Properties":{"id":"20251007104234-jg6348e","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"顶部标题"},{"Type":"NodeText","Data":":生成日期和时间戳"}]}]}]},{"ID":"20251007104234-3s8pph1","Type":"NodeParagraph","Properties":{"id":"20251007104234-3s8pph1","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"特点"},{"Type":"NodeText","Data":":"}]},{"ID":"20251007104234-v7fuqbi","Type":"NodeList","ListData":{},"Properties":{"id":"20251007104234-v7fuqbi","updated":"20251007104234"},"Children":[{"ID":"20251007104234-2sgzz55","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-2sgzz55","updated":"20251007104234"},"Children":[{"ID":"20251007104234-aecu5sx","Type":"NodeParagraph","Properties":{"id":"20251007104234-aecu5sx","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"按料号汇总所有层级的需求"}]}]},{"ID":"20251007104234-ckeyepe","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-ckeyepe","updated":"20251007104234"},"Children":[{"ID":"20251007104234-ddgak02","Type":"NodeParagraph","Properties":{"id":"20251007104234-ddgak02","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"便于查看每个料件的总需求趋势"}]}]},{"ID":"20251007104234-l1w1dk0","Type":"NodeListItem","ListData":{"BulletChar":42,"Marker":"Kg=="},"Properties":{"id":"20251007104234-l1w1dk0","updated":"20251007104234"},"Children":[{"ID":"20251007104234-vrhonpy","Type":"NodeParagraph","Properties":{"id":"20251007104234-vrhonpy","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"支持数据透视表分析"}]}]}]},{"ID":"20251007104234-5obwvx7","Type":"NodeHeading","HeadingLevel":3,"Properties":{"id":"20251007104234-5obwvx7","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"3. Unmatched工作表(异常检测)"}]},{"ID":"20251007104234-4vrosku","Type":"NodeParagraph","Properties":{"id":"20251007104234-4vrosku","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"内容"},{"Type":"NodeText","Data":":在Focest预测中出现但未在BOM中找到的料号清单"}]},{"ID":"20251007104234-7yxg0wn","Type":"NodeParagraph","Properties":{"id":"20251007104234-7yxg0wn","updated":"20251007104234"},"Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"处理建议"},{"Type":"NodeText","Data":":"}]},{"ID":"20251007104234-7tnqloh","Type":"NodeList","ListData":{"Typ":1},"Properties":{"id":"20251007104234-7tnqloh","updated":"20251007104234"},"Children":[{"ID":"20251007104234-m5cmb4a","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"MS4=","Num":1},"Properties":{"id":"20251007104234-m5cmb4a","updated":"20251007104234"},"Children":[{"ID":"20251007104234-3gw0d1b","Type":"NodeParagraph","Properties":{"id":"20251007104234-3gw0d1b","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"检查BOM完整性"}]}]},{"ID":"20251007104234-d75r9gt","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"Mi4=","Num":2},"Properties":{"id":"20251007104234-d75r9gt","updated":"20251007104234"},"Children":[{"ID":"20251007104234-nnh20ro","Type":"NodeParagraph","Properties":{"id":"20251007104234-nnh20ro","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"确认料号编码是否正确"}]}]},{"ID":"20251007104234-cfkg1bl","Type":"NodeListItem","ListData":{"Typ":1,"Delimiter":46,"Marker":"My4=","Num":3},"Properties":{"id":"20251007104234-cfkg1bl","updated":"20251007104234"},"Children":[{"ID":"20251007104234-4i4zp0z","Type":"NodeParagraph","Properties":{"id":"20251007104234-4i4zp0z","updated":"20251007104234"},"Children":[{"Type":"NodeText","Data":"更新BOM表数据"}]}]}]},{"ID":"20251007103854-k7hdkk4","Type":"NodeHeading","HeadingLevel":2,"Properties":{"id":"20251007103854-k7hdkk4","updated":"20251013195421"},"Children":[{"Type":"NodeText","Data":"六、常见错误处理"}]},{"ID":"20251007103854-tvzkohd","Type":"NodeTable","TableAligns":[0,0,0,0],"Properties":{"colgroup":"|||","id":"20251007103854-tvzkohd","updated":"20251007103854"},"Children":[{"Type":"NodeTableHead","Data":"thead","Children":[{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"错误类型"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"症状"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"根本原因"}]},{"Type":"NodeTableCell","Data":"th","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"解决方案"}]}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"#REF!"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"引用错误"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"列索引超出数据范围"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"检查B1:I1值是否在1-55范围内"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"#VALUE!"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"值错误"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"数值列中包含文本数据"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"清理库存报表中的非数值字符"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"#N/A"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"查找失败"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"VLOOKUP未找到匹配料号"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"验证料号在库存报表中存在"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"透视表不更新"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"数据陈旧"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"数据源范围未更新"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"重新运行宏更新数据源"}]}]},{"Type":"NodeTableRow","Data":"tr","Children":[{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeTextMark","TextMarkType":"strong","TextMarkTextContent":"NT函数失效"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"公式错误"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"宏功能未启用"}]},{"Type":"NodeTableCell","Data":"td","Children":[{"Type":"NodeText","Data":"保存为.xlsm格式并启用宏"}]}]}]}]}