<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] > Mon Apr 26 2021 14:57:41 GMT+0800 (GMT+08:00) 涉及按條件提取數據記錄的需求,本質上與篩選相似,只是篩選不能將結果主動移到目標區域而已。VLOOK這類函數呢能用但不適合重復記錄,為此 Excel 上出現了很多的數組函數,這類函數是很好用的,而 WPS 則貌似還沒有這類函數出現,WPS JS宏可以讓大家多了個臨時解決方案(專業版可以用 VBA)。 我們來理一下設計思路: * 源數據,應該是一個單元格區域: * 行數 * 列數 * 起始坐標,終點坐標。 * 條件所在列——區域內偏移量(實際上可以要求提供具體全局列號,但不太人性化)。 * 條件,條件并不好設計: * 不同類型的數據,條件的設計邏輯不同。我們不能去猜用戶會給我們什么樣的條件,為此我們直接將條件參數設計為一個 callback `(function)` ,然后通過 eval 方法執行。 * 好處是,我們不必為條件這個不可預測的參數發愁。壞處嘛就是對使用者的編程技能有要求。 * 條件滿足時要提取的內容所在的列(可以是整行——整條記錄、某一列……),怎么處理設計這個邏輯: * 當符合條件時,數據所在行的行號是確定的: * 如果提供的是數字——構建單元格對象,并讀取內容,最后輸出到目標單元格。 * 其實,設計一個callback 是正解。 * 因為不確定,我們將它設計為數組參數,[1,2,3,5,...]或者“all”。 * 輸出結果到,只需提供第一單元格即可。 因為不是原生的數組函數(我們設計這個工具其實就是一個能返回數組的函數),因此我們輸出的結果需要直接寫入單元格區域,當條件更換時要清空這片區域,然后接著輸出新結果。這就涉及到危險操作了,一不小心可能就把用戶數據給刪了。因此,這個可能一遍又一遍重復清空、寫入的邏輯要設計好。 * 因為沒有存儲機制,我們并不知道上一次輸出的結果占了多大的單元格區域。在清空的時候就不好操作了。不清空又不行,新舊記錄可能會混在一起。用插入單元格的做法可能會改變用戶表格結構。總之,為了規避這個問題帶來的后果,我們需要提前告知用戶,使用這個工具時,輸出結果的單元格區域內要留足空間(右側和下方都要避開)。 * 加入存儲機制,即每次輸出后占用了多大空間都記錄下來,作為下一次運行時清空單元格區域的依據。好是好,但這充滿變數,不可取。沒有這樣一個地方——可以完美地保存這個數據,只能作罷…… > 確實不知道存哪里,關鍵是不會被刪除和移位。 * 那我們只能硬著頭皮硬來了,只能提示用戶遠離目標區域(留足空間)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看