The worksheet name is "401(k) Transactions" (Not sure why it matters but...)
I have a sheet full of my 401(k) transactions. Every few days I go to the web page and export the history to this sheet, a few blank lines separating the new data from the old. Because the downloaded data is formatted in a goofy way, I have to edit them before adding them to the list. Once edited, I move each up to the bottom of the upper range. Eventually, the bottom range is emptied. I'm trying to conditionally format the downloaded lower block so I can see which to edit by comparing them to the contents in the upper block. I need a dynamic range that includes the entire upper block, stopping at the first blank line and not continuing into the bottom block of data.
This is your second thread on the issue. I dare to think you might possibly enjoy the results you could get (from me or from others) by simply being cooperative.
Observations and Assumptions...
1. The data is on 401(k) Transactions.
2. Column A consists of dates, column B of text.
3. In what follows, it's assumed that the relevant data is within an area in A:B.
4. It's also assumed that "move up" means copy and paste + insert empty rows after the pasted bit.
5. Again, it's assumed that the data (the upper blck) starts at row 2. That is, the first date value is in A2.
The last three have to be assumptions for you did not answer the relevant questions: "What is the current range?" and "What does 'move up" mean?".
Given (1) to (5), try...
Define
BigNum by means of Formulas | Name Manager as referring to:
=9.99999999999999E+307
Define
Lrec as referring to:
=MATCH(BigNum,'401(k) Transactions'!$A:$A)
Define
BlankRec as referring to:
=MATCH(TRUE,'401(k) Transactions'!$A$2:INDEX('401(k) Transactions'!$A:$A,Lrec)="",0)-1+ROW('401(k) Transactions'!$A$2)-1
Now we can define
Data as referring to:
='401(k) Transactions'!$A$2:INDEX('401(k) Transactions'!$B:$B,BlankRec)
Usage:
=COUNT(INDEX(Data,0,1))
counts the dates in Data.
=COUNTIF(INDEX(Data,0,1),"?*")
determines the number of records with text of at least 1 character long.
=ISNA(MATCH(
cell,INDEX(Data,0,1),0))
yields TRUE if the value in cell is not in the first column of Data,
a formula that you can use conditional formatting.