Aci Concrete Mix Design Excel Sheet -
ws.cell(row=row, column=1, value="1. Water Requirement (from ACI Table 6.3.3)").font = subheader_font ws.cell(row=row, column=2, value="lb/yd³") formula_water = 'IF(AND(B6<=0.75, B6>=0.5), IF(B8="Yes", 305, 335), IF(B6=1, IF(B8="Yes", 315, 345), IF(B6=1.5, IF(B8="Yes", 340, 365), "Check ACI Table")))' ws.cell(row=row, column=3, value="Formula").font = Font(italic=True) ws.cell(row=row, column=4, value=formula_water) row += 1
ws.cell(row=row, column=2, value="Water (Unadjusted)") ws.cell(row=row, column=3, value=formula_water) ws.cell(row=row, column=4, value="=D3") # placeholder actual value ws.cell(row=row, column=4).fill = result_fill row += 1
Define Absorption Capacity ($Abs$) and Current Moisture ($MC$). aci concrete mix design excel sheet
| Step | Description | Formula (Excel syntax) |
|------|-------------|------------------------|
| 1 | Water amount (lb/yd³) – from ACI table for slump & NMAS | =VLOOKUP(slump,NMAS_table,2) |
| 2 | Cement content (lb/yd³) | =Water / w_c_ratio |
| 3 | Coarse aggregate volume (ft³/yd³) | =DRUW * 27 / 100 (or ACI table method) |
| 4 | Coarse aggregate weight (lb/yd³) | =Coarse_vol_ft3 * SG_ca * 62.4 |
| 5 | Air volume (ft³/yd³) | =Air / 100 * 27 |
| 6 | Water volume (ft³/yd³) | =Water / 62.4 |
| 7 | Cement volume (ft³/yd³) | =Cement / (SG_c * 62.4) |
| 8 | Coarse aggregate volume (ft³/yd³) | =Coarse_agg_weight / (SG_ca * 62.4) |
| 9 | Total volume of above (ft³/yd³) | =SUM(air_vol,water_vol,cement_vol,ca_vol) |
| 10 | Fine aggregate volume (ft³/yd³) | =27 - Total_vol_above |
| 11 | Fine aggregate weight (lb/yd³) | =FA_vol * SG_fa * 62.4 |
| 12 | Batch weights (SSD) | =Cement, Water, CA, FA |
| 13 | Moisture correction – CA | =CA_SSD * (1 + MC_ca/100 - Abs_ca/100) |
| 14 | Moisture correction – FA | =FA_SSD * (1 + MC_fa/100 - Abs_fa/100) |
| 15 | Adjusted water | =Water - (CA_SSD*(MC_ca-Abs_ca)/100) - (FA_SSD*(MC_fa-Abs_fa)/100) |
| Slump (in) | NMAS ½″ | ¾″ | 1″ | 1½″ | |------------|---------|----|----|-----| | 1–2 | 350 | 335 | 315 | 300 | | 3–4 | 385 | 365 | 340 | 325 | | 5–6 | 410 | 385 | 360 | 340 | | Slump (in) | NMAS ½″ | ¾″
ws.cell(row=row, column=1, value="FINAL BATCH WEIGHTS (lb per yd³)").font = header_font ws.cell(row=row, column=1).fill = header_fill ws.merge_cells(start_row=row, start_column=1, end_row=row, end_column=3) row += 1
final_comp = [ ("Cement", "=D6"), ("Water", "=B29"), ("Coarse Aggregate (wet)", "=B30"), ("Fine Aggregate (wet)", "=B31"), ] for name, formula in final_comp: ws.cell(row=row, column=1, value=name) ws.cell(row=row, column=2, value=formula) ws.cell(row=row, column=2).fill = result_fill row += 1 column=1).fill = header_fill ws.merge_cells(start_row=row
header_font = Font(bold=True, color="FFFFFF") header_fill = PatternFill(start_color="2F559D", end_color="2F559D", fill_type="solid") subheader_font = Font(bold=True) subheader_fill = PatternFill(start_color="D9E1F2", end_color="D9E1F2", fill_type="solid") highlight_fill = PatternFill(start_color="FFF2CC", end_color="FFF2CC", fill_type="solid") result_fill = PatternFill(start_color="C6EFCE", end_color="C6EFCE", fill_type="solid") thin_border = Border( left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin') ) center_align = Alignment(horizontal='center', vertical='center')
This converts theoretical weights into batch weights per cubic yard (or meter).