27.17 Real Estate: Units Sold and Price per Square Foot
Example first. Zoya tracks fictional residential projects in five cities and wants sales progress and price per square foot.
Real Estate project — in 30 seconds
What: A Real Estate tracker: one Table tblUnits, the calculated column PricePerSqft, KPI cells, a PivotTable by City, a chart and a one-page dashboard.
Why: This is the shape of a real Real Estate report: Units Sold %, Sold Value (₹ lakh), Average Price per sq ft are the numbers a manager reads first.
Tiny example: From 6 rows: Units Sold % = 66.7%, Sold Value (₹ lakh) = 261.4, Average Price per sq ft = ₹7,191.
Real Estate project — 30 सेकंदात
काय: Real Estate चा tracker: tblUnits नावाची एक Table, PricePerSqft हा calculated column, KPI cells, City प्रमाणे PivotTable, एक chart आणि एका पानाचा dashboard.
का: खऱ्या Real Estate report चा हाच आकार असतो: Units Sold %, Sold Value (₹ lakh), Average Price per sq ft हे आकडे manager सगळ्यात आधी वाचतो.
छोटं उदाहरण: 6 rows मधून Units Sold % = 66.7%, Sold Value (₹ lakh) = 261.4, Average Price per sq ft = ₹7,191.
Real Estate project — 30 सेकंड में
क्या: Real Estate का tracker: tblUnits नाम की एक Table, PricePerSqft calculated column, KPI cells, City के हिसाब से PivotTable, एक chart और एक पन्ने का dashboard.
क्यों: असली Real Estate report का यही आकार होता है: Units Sold %, Sold Value (₹ lakh), Average Price per sq ft वे आँकड़े हैं जो manager सबसे पहले पढ़ता है.
छोटा उदाहरण: 6 rows से Units Sold % = 66.7%, Sold Value (₹ lakh) = 261.4, Average Price per sq ft = ₹7,191.
First look at the data (before → after):
Expected result — Calculated column
| UnitID | PricePerSqft |
|---|---|
| U-601 | ₹9,388 |
| U-602 | ₹10,259 |
| U-603 | ₹6,500 |
| U-604 | ₹5,500 |
| U-605 | ₹5,500 |
| U-606 | ₹6,000 |
Expected result — KPI cells (expected results)
| KPI | Formula | Result |
|---|---|---|
| Units Sold % | =COUNTIF(tblUnits[Status],"Sold")/ROWS(tblUnits[Status]) | 66.7% |
| Sold Value (₹ lakh) | =SUMIFS(tblUnits[PriceLakh],tblUnits[Status],"Sold") | 261.4 |
| Average Price per sq ft | =AVERAGE(tblUnits[PricePerSqft]) | ₹7,191 |
Before table and formula as text
Before — Table tblUnits (fictional sample rows)
| UnitID | City | Type | AreaSqft | PriceLakh | Status |
|---|---|---|---|---|---|
| U-601 | Pune | 2BHK | 980 | 92.0 | Sold |
| U-602 | Pune | 3BHK | 1,350 | 138.5 | Unsold |
| U-603 | Nashik | 2BHK | 900 | 58.5 | Sold |
| U-604 | Nagpur | 1BHK | 620 | 34.1 | Sold |
| U-605 | Kolhapur | 2BHK | 940 | 51.7 | Unsold |
| U-606 | Sambhaji Nagar | 3BHK | 1,280 | 76.8 | Sold |
Formula / click path
PricePerSqft: =[@PriceLakh]*100000/[@AreaSqft]
Units Sold %: =COUNTIF(tblUnits[Status],"Sold")/ROWS(tblUnits[Status])
Sold Value (₹ lakh): =SUMIFS(tblUnits[PriceLakh],tblUnits[Status],"Sold")
Average Price per sq ft: =AVERAGE(tblUnits[PricePerSqft])
Do it step by step:
- Type the data and press Ctrl+T; name the Table
tblUnitsin Table Design › Properties › Table Name. - Add the column PricePerSqft with
=[@PriceLakh]*100000/[@AreaSqft]; the Table fills it down. - On a KPI sheet type
=COUNTIF(tblUnits[Status],"Sold")/ROWS(tblUnits[Status])and the other KPI formulas from the table below. - Click Insert › PivotTable › From Table/Range, put City in Rows and PriceLakh in Values (Sum).
- Click PivotTable Analyze › PivotChart › Clustered Column, then PivotTable Analyze › Insert Slicer › Status.
- Move the KPI cells, the chart and the slicer onto a sheet named Dashboard.
स्टेप बाय स्टेप करून बघा:
- Data type करा आणि Ctrl+T दाबा; Table Design › Properties › Table Name मध्ये Table ला
tblUnitsनाव द्या. - PricePerSqft column
=[@PriceLakh]*100000/[@AreaSqft]ने जोडा; Table तो खाली भरते. - KPI sheet वर
=COUNTIF(tblUnits[Status],"Sold")/ROWS(tblUnits[Status])आणि खालच्या table मधले बाकीचे KPI formulas type करा. - Insert › PivotTable › From Table/Range वर click करा, Rows मध्ये City आणि Values मध्ये PriceLakh (Sum) ठेवा.
- PivotTable Analyze › PivotChart › Clustered Column वर click करा, मग PivotTable Analyze › Insert Slicer › Status.
- KPI cells, chart आणि slicer Dashboard नावाच्या sheet वर हलवा.
स्टेप बाय स्टेप करके देखें:
- Data type करें और Ctrl+T दबाएँ; Table Design › Properties › Table Name में Table को
tblUnitsनाम दें. - PricePerSqft column
=[@PriceLakh]*100000/[@AreaSqft]से जोड़ें; Table उसे नीचे भर देती है. - KPI sheet पर
=COUNTIF(tblUnits[Status],"Sold")/ROWS(tblUnits[Status])और नीचे की table के बाकी KPI formulas type करें. - Insert › PivotTable › From Table/Range पर click करें, Rows में City और Values में PriceLakh (Sum) रखें.
- PivotTable Analyze › PivotChart › Clustered Column पर click करें, फिर PivotTable Analyze › Insert Slicer › Status.
- KPI cells, chart और slicer को Dashboard नाम की sheet पर ले जाएँ.
The brief. Build an inventory sheet: price per sq ft per unit (shown without decimals), units sold %, sold value in ₹ lakh, average price per sq ft, value by city, a chart and a Status slicer.
Calculated column formulas:
| Column | Formula |
|---|---|
| PricePerSqft | =[@PriceLakh]*100000/[@AreaSqft] |
KPI cells (check your numbers):
| KPI | Formula | Result |
|---|---|---|
| Units Sold % | =COUNTIF(tblUnits[Status],"Sold")/ROWS(tblUnits[Status]) | 66.7% |
| Sold Value (₹ lakh) | =SUMIFS(tblUnits[PriceLakh],tblUnits[Status],"Sold") | 261.4 |
| Average Price per sq ft | =AVERAGE(tblUnits[PricePerSqft]) | ₹7,191 |
PivotTable (expected):
| City | Sum of PriceLakh |
|---|---|
| Kolhapur | 51.7 |
| Nagpur | 34.1 |
| Nashik | 58.5 |
| Pune | 230.5 |
| Sambhaji Nagar | 76.8 |
| Grand Total | 451.6 |
Chart and dashboard (one under the other):
- Click inside the PivotTable, then PivotTable Analyze › PivotChart › Clustered Column › OK.
- Add a chart title and data labels with Chart Design › Add Chart Element.
- Click PivotTable Analyze › Insert Slicer, tick Status and click OK.
- Insert a new sheet named Dashboard. In it, link a card cell to each KPI (for example
=KPI!B2) and format it large and bold. - Cut and paste the chart and slicer onto the Dashboard sheet.
- On the View tab, untick Gridlines in the Show group. Select the dashboard area and click Page Layout › Print Area › Set Print Area.
Template and guide: download the practice template Real_Estate_Template.xlsx and read the step-by-step template guide. The template's sample rows may differ from the rows above; the method is the same.
Related ready-made dashboard: the Real Estate dashboard guide and its workbook Real_Estate_Dashboard.xlsx show a finished version of this kind of report.
Practice task (try it before you open the answer):
- Which city has the highest sum of PriceLakh?
- Filter the Table on City = Pune (Data › Filter): what is Units Sold % for Pune alone?
- Add the Clustered Column PivotChart and the Status slicer to your Dashboard sheet.
Answer
Pune (230.5). For Pune only (2 rows): Units Sold % = 50.0%. The chart shows 5 bars, one per city.
Ravindra Bagale's Tip
Check Units Sold % by hand for two rows before you trust the dashboard. If your hand answer and the cell differ, the formula range is usually wrong.
Ravindra Bagale's Tip – मराठी
Dashboard वर विश्वास ठेवण्याआधी दोन rows साठी Units Sold % हाताने check करा. हाताचं उत्तर आणि cell वेगळे आले तर बहुतेक formula ची range चुकलेली असते.
Ravindra Bagale's Tip – हिंदी
Dashboard पर भरोसा करने से पहले दो rows के लिए Units Sold % हाथ से check करें. हाथ का जवाब और cell अलग हों तो ज़्यादातर formula की range गलत होती है.
Loading practice tasks...
- Total area sq ft (Easy): Add up Area sq ft in D2:D11.
- Average price per sq ft (Easy): Average of E2:E11, rounded to 2 decimals.
- Rows in Tower 1 (Easy): How many rows have Tower "Tower 1"?
- Largest area sq ft (Easy): The largest value in D2:D11.
- Area sq ft for Tower 1 (Medium): Total of D2:D11 where B is "Tower 1".
- Tower 1 in Delhi (Medium): Total of D2:D11 where B is "Tower 1" and C is "Delhi".
- Best in Tower 1 (Medium): Largest E2:E11 value where B is "Tower 1".
- Value of row 2 (Medium): D2 times E2.
- Look up Chloe Dubois (Medium): The Area sq ft for "Chloe Dubois" (use a lookup on column A).
- Total value (Hard): Sum of D times E for all rows.
- Share of Tower 1 (Hard): Share of D2:D11 that is "Tower 1", rounded to 3 decimals.
- Rank of row 2 (Hard): Rank of D2 among D2:D11 (largest = 1).
- Above average? (Hard): "Above" if E2 is above the average of E2:E11, else "Below".