BITLSHIFT function

BITLSHIFT returns the bitwise left shift of a number by the specified amount, effectively multiplying by 2 raised to the shift amount.

=BITLSHIFT(number, shift_amount)

Generate a BITLSHIFT formula

Describe what you need. The generator will reach for BITLSHIFT where BITLSHIFT is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How BITLSHIFT reads its arguments
numberrequiredshift_amountrequiredBITLSHIFT
ArgumentRequiredDescription
numberRequiredA required numeric value (integer or coerced to integer) to shift. Must be non-negative; negative values may return an error depending on implementation.
shift_amountRequiredA required non-negative integer indicating how many bit positions to shift left. Negative values or overflow-inducing values return #NUM!.

Returns

An integer representing the binary left-shifted result of the input number.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Calculate doubled hourly cost from base rate units

TaskOwnerStart DateDue DateHours Logged
Frontend DesignAlice2026-09-012026-09-058
Backend APIBob2026-09-022026-09-1016
Testing SuiteCharlie2026-09-032026-09-0812
DocumentationDiana2026-09-042026-09-1524
=BITLSHIFT(8,1)

Result: 16

Alice's timesheet shows 8 hours logged for design work. Using BITLSHIFT(8,1) shifts the binary representation left by 1 position, doubling the value to 16. This is useful when timesheet hours are stored in base units and must be converted to billing units via powers of 2—for example, converting hourly units to quarter-hour billing increments or calculating overtime rates that follow binary scaling.

2. Scale task hours for team capacity projection

TaskOwnerStart DateDue DateHours Logged
Frontend DesignAlice2026-09-012026-09-058
Backend APIBob2026-09-022026-09-1016
Testing SuiteCharlie2026-09-032026-09-0812
DocumentationDiana2026-09-042026-09-1524
=BITLSHIFT(3,2)

Result: 12

A planning unit of 3 hours is shifted left 2 positions (multiplied by 2²=4) to estimate workload across quarterly phases. BITLSHIFT(3,2) returns 12, representing the scaled capacity for a 4-week planning cycle. This approach is common in resource allocation where time blocks follow binary expansion—each left shift doubles the unit, making it simple to calculate team capacity for different time horizons.

3. Compute rush-job penalty multiplier for project cost

TaskOwnerStart DateDue DateHours Logged
Frontend DesignAlice2026-09-012026-09-058
Backend APIBob2026-09-022026-09-1016
Testing SuiteCharlie2026-09-032026-09-0812
DocumentationDiana2026-09-042026-09-1524
=BITLSHIFT(1,3)

Result: 8

Diana's documentation task is marked urgent, triggering a rush multiplier. BITLSHIFT(1,3) produces 8, meaning the task cost is multiplied by 8× the base rate. Using bit shifts for penalty or bonus multipliers avoids explicit arithmetic and ensures multipliers remain as clean powers of 2, simplifying billing logic and auditing when rates are adjusted by discrete tiers (1×, 2×, 4×, 8×).

Common errors

Which BITLSHIFT error are you seeing?
BITLSHIFT returned an error#VALUE!
Ensure both number and shift_amount are numeric or reference cells containing only numbers. Use IFERROR(BITLSHIFT(A1,B1),'') to catch and suppress errors if the source data may contain unexpected text.
#NUM!
Use only non-negative integers 0–31 for shift_amount. If you need right-shifting, use BITRSHIFT instead. Test with small values first (e.g., 1–4) when first writing the formula.
#VALUE!
Verify the source cells contain valid numbers before using them in BITLSHIFT. Use IFNA or IFERROR to handle upstream errors, e.g., =IFERROR(BITLSHIFT(A1,B1), 0) to return 0 if either argument is invalid.
ErrorWhy it happensHow to fix it
#VALUE!Passing non-numeric values to either argument—for example, =BITLSHIFT('text', 2) or =BITLSHIFT(8, 'shift') when a cell contains text, a boolean, or a formula that returns text instead of a number.Ensure both number and shift_amount are numeric or reference cells containing only numbers. Use IFERROR(BITLSHIFT(A1,B1),'') to catch and suppress errors if the source data may contain unexpected text.
#NUM!The shift_amount is negative (e.g., =BITLSHIFT(8, -1)) or large enough to cause integer overflow. Most spreadsheets limit shift_amount to 0–31 for standard 32-bit operations; exceeding this range triggers the error.Use only non-negative integers 0–31 for shift_amount. If you need right-shifting, use BITRSHIFT instead. Test with small values first (e.g., 1–4) when first writing the formula.
#VALUE!Referencing a cell containing an error constant, empty cell, or non-numeric formula result—for example, =BITLSHIFT(A1, B1) where A1 contains #N/A or B1 contains a formula that returns a text string.Verify the source cells contain valid numbers before using them in BITLSHIFT. Use IFNA or IFERROR to handle upstream errors, e.g., =IFERROR(BITLSHIFT(A1,B1), 0) to return 0 if either argument is invalid.

Tips and when to use something else

  • BITLSHIFT(n, k) is mathematically identical to n * 2^k but executes faster on large datasets. For clarity in timesheet or payroll formulas, prefer multiplication unless processing thousands of rows where bit-level performance matters.
  • BITLSHIFT is designed for binary-encoded data, low-level protocol communication, and performance-critical loops. For typical timesheet math, use CONVERT, MULTIPLY, or named multiplier ranges instead.
  • The inverse operation is BITRSHIFT. Together, they enable bit-shifting puzzles; individually, BITLSHIFT is rarely needed outside systems programming or data encoding workflows.
  • BITLSHIFT truncates decimal hours. If your timesheet logs 8.5 hours, BITLSHIFT treats it as 8 (losing the half-hour) before shifting. Use multiplication for fractional data: =8.5*4 instead of =BITLSHIFT(8.5, 2).

Frequently asked questions

How is BITLSHIFT different from just multiplying by 2?
BITLSHIFT and multiplication are mathematically equivalent (BITLSHIFT(n,k) = n*2^k), but bit shifts operate on the binary representation directly, making them faster for large-scale computations on specialized hardware. For timesheet or payroll data, multiplication is clearer and sufficiently fast unless you're processing millions of rows.
Can I use BITLSHIFT with fractional hours like 8.5?
No. BITLSHIFT truncates decimal values before shifting. If your timesheet records 8.5 hours, BITLSHIFT treats it as 8, losing precision. For fractional data, use multiplication (e.g., =8.5*4) or CONVERT instead.
What happens if I shift left by 0?
BITLSHIFT(n, 0) returns n unchanged, since shifting by 0 positions leaves the binary representation intact. This is valid and equivalent to multiplying by 2^0 = 1; it can be useful in conditional formulas.
When should I choose BITLSHIFT over a formula like =HOURS*MULTIPLIER?
Only use BITLSHIFT if your multiplier is a power of 2 (2, 4, 8, 16, …) and you're processing thousands of rows where bit performance measurably helps. For typical timesheet workflows, =HOURS*MULTIPLIER is far clearer and fast enough. BITLSHIFT is most common in data encoding, cryptography, or hardware protocol implementations.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17