I need assistance with setting up a budget management sheet using array formulas. My spreadsheet lists expenses in column U and their respective prices in column V, shown in KRW. I am aiming for columns X and Y to automatically replicate the expense names and convert the prices to USD.
Current Setup
Column U: Expense items
Column V: Prices in KRW
Column X: Should replicate the names from column U
Column Y: Should display the USD conversion of the values in column V
The Issue
I know that the formula =V6:V*GOOGLEFINANCE("CURRENCY:KRWUSD") is ideal for converting KRW to USD, but it can only be applied to individual cells. When I try to use it for the entire column, it fails because I have pre-existing data in rows Y4 and Y5.
Similarly, when trying to use =ARRAYFORMULA(U6:U) to fill in column X, it encounters issues due to the data present in columns X4 and X5.
Desired Outcome
I want to be able to add new expenses in column U along with their corresponding prices in column V, while ensuring that columns X and Y update automatically without the need for copying and pasting formulas for each new entry. This would save me time and effort, allowing the calculations to occur seamlessly.
try using FILTER instead of IF - =ARRAYFORMULA(FILTER(U6:U,U6:U<>"")) for names and =ARRAYFORMULA(FILTER(V6:V*GOOGLEFINANCE("CURRENCY:KRWUSD"),V6:V<>"")) for the conversions. it only gets non-empty cells, so your data above row 6 stays safe.
I encountered a similar challenge when organizing my budget sheet. To ensure your formulas work without conflicts from the data above, utilize array formulas that account for existing rows. For your USD conversion in column Y, you can use: =ARRAYFORMULA(IF(ROW(V6:V)<=5,"",V6:V*GOOGLEFINANCE("CURRENCY:KRWUSD"))). This setup will maintain your headers and avoid issues with pre-filled rows. For column X, apply =ARRAYFORMULA(IF(ROW(U6:U)<=5,"",U6:U)) to replicate the expense names while protecting your data in earlier rows. This approach will automate your updates effectively.
Here’s what worked for me: drop your array formulas right in the first data row (X6 and Y6) and let them handle everything dynamically. In X6, use =ARRAYFORMULA(IF(U6:U="","",U6:U)). For Y6 currency conversion, try =ARRAYFORMULA(IF(V6:V="","",V6:V*GOOGLEFINANCE("CURRENCY:KRWUSD"))). These formulas expand automatically when you add new data below row 6, and the empty string check skips calculations on blank cells. You keep your headers intact and get automatic updates for new expenses.