Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The array formula should copy and paste fine and retain it's array as long as you copy the cell rather than copy the formula in the formula bar. It also copies fine if you drag/fill the cell down or across. It may be if you want to keep the range B2:B100 when dragging then use $B$2:$B$100 to stop it incrementing.</p> <p>F4 is a nice short cut that can help here. Position your cursor over B2:B100 and press F4.</p> <p>If you want to enforce certain cells always retain formula array I can think of a dirty workaround but I think it may have more negatives than positives.</p> <p>Negatives:</p> <p>-It involves VBA</p> <p>-It will clear the Undo stack/clipboard</p> <p>-It's potentially more confusing</p> <p>Workaround</p> <p>Tag formulae that must be an array formula with a term that has no effect on the outcome. Eg <code>(0*0)+</code>. This term can then be checked and made to always be an array formula through code.</p> <p>so your formula above becomes <code>{=(0*0)+MATCH(TRUE,(B2:B100}&gt;0,0)}</code></p> <p>Then in the THISWORKBOOK <img src="https://i.stack.imgur.com/s4c3J.png" alt="enter image description here"></p> <p>enter this code</p> <pre><code>Option Explicit Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim cell As Range For Each cell In Target If Target.Cells.Count = 1 Then If InStr(1, Target.Formula, "(0*0)+", vbTextCompare) And _ Target.HasArray = False Then Target.FormulaArray = Target.Formula End If End If Next cell End Sub </code></pre> <p>whenver a cell is changed, the code will check for the term (0*0)+ and assign it as an array formula if it is not one already.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload