Formula isn't calculating in excel - excel

When the data is from the same row, the formula isn't calculating.
When the data is not from the same row, it works fine.
As it shows in the screenshots, I'm trying to use VLOOKUP but it seems that when the data is from the same row, the formula isn't working or calculating; when the data isn't from the same row, it works fine. I've tried other formulas too (sum, for example). Any idea why this is happening and how to fix it? Thanks.
I tried to create a new workbook and copy/paste everything over, but it didn't work.

Related

How to autofill formula in excel, when a cell is deleted

I have been trying to find a way to automatically add serial numbers when a data is entered in a row. Is there a way to auto fill formula across a column?
I have used this formula, =IF(B1<>"",A1+1,""), =IF(B2<>"",A2+1,""),... this works fine but the problem is when i delete contents in a row. the pattern breaks. I have tried COUNTA function as well, it works fine as well. But here also the problem is when I delete contents in a row, the formula gets deleted from the cell. Is there a way to retain formula and just delete the data without using "Go To" dialog OR Is there a way to auto fill formula in an entire column?
try this:
=SEQUENCE(COUNTA(A1:A))

Display Row number of cells in a column that are not blank

I am using Office 365.
I have a sheet with a column of relevant values. In a separate sheet of the same workbook, I want to display EVERY row number of cells in a column that are not blank.
The FIRST formula DID work, but it is NOT working anymore. This is where I need help. Is something off here? I don't think I changed anything, but it seemed to just stop working last week, after working well for a couple months.
=IFERROR(SMALL(INDEX(('Patient Tracker'!$A$4:$A$848="")*10^10+ROW('Patient Tracker'!$A$4:$A$848),0),ROW('Patient Tracker'!A1)),"")
The " *10^10+ROW " is to later be able to copy down this formula and draw from this new column of indexed data by using this formula:
=IF(A2<500,INDEX('Patient Tracker'!$A$4:$D$848,A2-3,1),"")
So, if <500, it returns a blank.
THIS formula successfully returns the value of cells that are not blank from the same sheet. This is good, but I want the ROW number of the cell where this data comes from, AND I don't want the blank cells to be copied over to the new sheet, which this formula does.
=IFERROR(INDEX('Patient Tracker'!$A$4:$A$848, SMALL(IF(ISBLANK('Patient Tracker'!$A$4:$A$848), "", ROW('Patient Tracker'!$A$4:$A$848)-MIN(ROW('Patient Tracker'!$A$4:$A$848))+1), ROW(A1))),"")
Please be pateint and specific with me. I barely understand the formulas I am using.

Filling every other row with the value of the following row

I'd like to fill every other row in an excel worksheet with the value that is following that row.
See example.
Is there a way to accomplish this?
I am sorry if this is an extremely easy task, but I just can't get my head around how this may work, since just plain copying the data, filtering for blank rows and pasting it into the filtered table just doesn't work as I want it to.
Thanks in advance.
Edit: It might be worth adding that I cannot at all change rows or columns in the excel sheet since it is connected to a database which configuration does not allow this.
Add a new helper column with the formula =ISEVEN(ROW()).
Filter this column on TRUE.
Select the range from A2 to the bottom-right of the cells that you want to populate, and input =A3 [Ctrl-Enter].
Clear the filter and delete the helper column.

EXCEL HELP (no VBA) - Dynamic ranges and offset/vlookup

I am pretty new to excel and finding it a little tricky so any help would be appreciated!
I have a master sheet where data is going to be input by people. From this master sheet I have used IF statements to copy relevant columns to another sheet in the workbook. (not sure if thats the best way).
So when a new data row is input into the master sheet, this creates a new row in the other sheet because its displaying what has been input in the master. This is building up a sub-table so to speak. From this sub data (whether turned to a table or not) I want to create pivot tables.
Issues:
If the sub data is turned into a table, when new data is input in the master sheet the sub-table does not expand.
Trying it another way, without creating a table with the sub data I tried to create a dynamic range using OFFSET. However when an entry is deleted from the master sheet this creates a blank row in the dynamic range that is being used to create the pivot table.
Any help would be much appreciated! I've looked into OFFSET, MATCH, VLOOKUP and it's a little confusing although I do get the gist of what these functions can achieve.
Thanks in advance!
This particular combo is used to fiddle around with ranges, for example validations and complex lookups.
They will not help you with your issue.
The range expansion is triggered when new data is entered into an adjacent cell, not when its existing condition becomes recognizable.
The =OFFSET() is used to fiddle around with ranges.
The MATCH(...,0) finds the first match of your string, in your case the lack of string.
If you could in fact set up a Pivot table to indirect references this formula would be your solution:
=OFFSET(YourSheet!$A$1,0,0,MATCH("",YourSheet!$A:$A,0)-1,MATCH("",YourSheet!$1:$1,0)-1)
where A1 of YourSheet contains somthing like
=IF(IncrementalDataSheet!A1<>"",IncrementalDataSheet!A1,"")
I think I understand the problem you're having. If you have data in A:Z in Sheet1 and you only want to see columns A, T, and Y for example on your more visually appealing Sheet2, then the initial thought would be to put =Sheet1!A1 into A1 on Sheet2, =Sheet1!T1 into B1, and =Sheet1!Y1 into C1. Copy the range down as far as needed to display the data from Sheet1 and Bingo! A nice tidy summarized version.
But wait... If you delete a row from Sheet1, the referenced cell in Sheet2 now just displays #REF!... boo... that's no good.
So, instead of using direct cell references, you can make use of the INDIRECT function to make sure the values produced are always relative based on the address of the target cell.
In Sheet2 you would put:
A1 =INDIRECT("Sheet1!"&(CELL("address",A1)))
B1 =INDIRECT("Sheet1!"&(CELL("address",T1)))
C1 =INDIRECT("Sheet1!"&(CELL("address",Y1)))
And copy down. At first glance it looks just like the original result, the difference is you can now delete rows from Sheet1 without hurting the output on Sheet2 because the indirect references will just look up new values from where everything shifted.
You should then be able to pivot off of the result dataset pretty easily.
That said... when you make a pivot table you pick which columns you include, so you could just pivot off of the original giant table and exclude any columns that you're not interested in summarizing.

Stuck in excel formula calling data from another sheet without changing cell reference

My case is little different I am working on an excel sheet so far It was a success but now I am totally clue less, what I am trying to do is I have two sheets
sheet1
sheet2
In sheet1 I am calling data from sheet2 suppose
in sheet1 a5 I am calling data from sheet2 c3 by this formula
=sheet2!c3
What I want to do is when I put a blank new row or column in sheet2 it automatically change the formula accordingly And I don't want it to do so, like it change it from
=sheet2!c3 into =sheet2!c4
I also tried putting $
=sheet2!$c$3
But it seems it only works on the same sheet not if you are calling data from another sheet, is there any way I can make this formula constant not change but remaining =Sheet2!c3 ??
That's how Excel works when you insert rows I am afraid. You could try building the formula as a string value:
=INDIRECT("sheet2!C3",TRUE)
I just used the index function
=index(sheet2!c3,c,3)
and it works !
The above method is also 100%percent working and accurate.

Resources