Look at the following example:
|---+-------------------+---------+----------|
| | scan | scan_in | scan_out |
| | | witdh | width |
|---+-------------------+---------+----------|
| ! | | 0 | 0 |
| # | "SCAN_IN0[12:0]" | 13 | 0 |
| # | "SCAN_IN1[3:0]" | 17 | 0 |
| # | "SCAN_OUT0[15:0]" | 17 | 16 |
| # | "SCAN_IN2[22:0]" | 40 | 16 |
| # | "SCAN_OUT1[44:0]" | 40 | 61 |
| # | "SCAN_IN3[5:0]" | 46 | 61 |
|---+-------------------+---------+----------|
#+TBLFM: $3='(number-to-string (if (string-match
"SCAN_IN.*\\[\\([0-9]+\\):\\([0-9]+\\)\\]" $2) (+ (string-to-number
(match-string 1 $2)) 1 &1) &1))::$4='(number-to-string (if
(string-match "SCAN_OUT.*\\[\\([0-9]+\\):\\([0-9]+\\)\\]" $2) (+
(string-to-number (match-string 1 $2)) 1 &1) &1))