Jump to content

Formula SUM - cells in different Table


Recommended Posts

Autocad 2008

 

I have a few indipendent table that have a cell with formula SUM.

I need to create final formula SUM that will do SUM of all "SUM" cells that belongs to different table.

 

So how to SUM value from cells that belong to different tables.

 

Thansk

Link to comment
Share on other sites

Here is a picture that will put more details in my request.

So, I have a number of tables thar represents data for a flats (Area and Length of room).

In each table there are Formulas SUM in a row "Area Sum" such as =Sum(E3:E4) that represents Sum for each room in flat.

All I need is to put SUM in a row "Total(A+B+C)" in last table for each Table's Area Sum row.

My main problem is how to sum up cells from different table?

Tables are created in Autocad 2008.

 

Thanks

SumTable.jpg

Link to comment
Share on other sites

Try this:

 

[i][color=#990099];; Cell Sum by Lee McDonnell,  12.07.2009[/color][/i]

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:cSum [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] str tss Objlst pt lst dPt dLst[b][color=RED])[/color][/b]
 [color=Red][b]([/b][/color][color=Blue][b]vl-load-com[/b][/color][color=Red][b])[/b][/color]
 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] str [b][color=#ff00ff]"=Table("[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] tss [b][color=RED]([/color][/b][b][color=BLUE]ssget[/color][/b] [b][color=#ff00ff]"_X"[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=#009900]0[/color][/b] . [b][color=#ff00ff]"ACAD_TABLE"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] ObjLst
       [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]cadr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]ssnamex[/color][/b] tss[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]progn[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] pt [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#ff00ff]"\nClick in Cells to Sum <Done> : "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]cond[/color][/b] [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]not[/color][/b] pt[b][color=RED])[/color][/b] [b][color=BLUE]nil[/color][/b][b][color=RED])[/color][/b]
               [b][color=RED]([/color][/b][b][color=RED]([/color][/b][b][color=BLUE]listp[/color][/b] pt[b][color=RED])[/color][/b]
                [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b]
                  [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] lst
                    [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b]
                      [b][color=RED]([/color][/b][b][color=BLUE]vl-remove-if[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]null[/color][/b]
                        [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b]
                          [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b]
                            [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b]tab[b][color=RED])[/color][/b]
                              [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [color=Blue][b]:vlax-true[/b][/color]
                                      [b][color=RED]([/color][/b][b][color=BLUE]vla-HitTest[/color][/b] tab
                                        [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b]
                                          [b][color=RED]([/color][/b][b][color=BLUE]trans[/color][/b] pt [b][color=#009900]1[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                                            [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b]
                                              [b][color=RED]([/color][/b][b][color=BLUE]trans[/color][/b]
                                                [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=DARKRED]'[/color][/b]VIEWDIR[b][color=RED])[/color][/b] [b][color=#009900]1[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]row [b][color=DARKRED]'[/color][/b]col[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                                [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b]
                                  [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ObjectId[/color][/b] tab[b][color=RED])[/color][/b] col row[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] ObjLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                  [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] str
                    [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] str
                      [b][color=RED]([/color][/b][b][color=BLUE]vl-princ-to-string[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lst[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]")"[/color][/b]
                        [b][color=RED]([/color][/b][b][color=BLUE]chr[/color][/b] [b][color=#009900]46[/color][/b][b][color=RED])[/color][/b]
                          [b][color=RED]([/color][/b]Number2Alpha [b][color=RED]([/color][/b][b][color=BLUE]1+[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] lst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                            [b][color=RED]([/color][/b][b][color=BLUE]itoa[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]1+[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caddr[/color][/b] lst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]"+Table("[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=BLUE]t[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]and[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]/=[/color][/b] [b][color=#ff00ff]""[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] str [b][color=RED]([/color][/b][b][color=BLUE]substr[/color][/b] str [b][color=#009900]1[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strlen[/color][/b] str[b][color=RED])[/color][/b] [b][color=#009900]7[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] dPt [b][color=RED]([/color][/b][b][color=BLUE]getpoint[/color][/b] [b][color=#ff00ff]"\nClick Inside Cell to Place Total: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] dLst
           [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b]
             [b][color=RED]([/color][/b][b][color=BLUE]vl-remove-if[/color][/b] [b][color=DARKRED]'[/color][/b][b][color=BLUE]null[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]mapcar[/color][/b]
                 [b][color=RED]([/color][/b][b][color=BLUE]function[/color][/b]
                   [b][color=RED]([/color][/b][b][color=BLUE]lambda[/color][/b] [b][color=RED]([/color][/b]tab[b][color=RED])[/color][/b]
                     [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] :vlax-true
                           [b][color=RED]([/color][/b][b][color=BLUE]vla-HitTest[/color][/b] tab
                             [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b]
                               [b][color=RED]([/color][/b][b][color=BLUE]trans[/color][/b] dPt [b][color=#009900]1[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                                 [b][color=RED]([/color][/b][b][color=BLUE]vlax-3D-point[/color][/b]
                                   [b][color=RED]([/color][/b][b][color=BLUE]trans[/color][/b]
                                     [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=DARKRED]'[/color][/b]VIEWDIR[b][color=RED])[/color][/b] [b][color=#009900]1[/color][/b] [b][color=#009900]0[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=DARKRED]'[/color][/b]row [b][color=DARKRED]'[/color][/b]col[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                       [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] tab row col[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] ObjLst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
       [b][color=RED]([/color][/b][b][color=BLUE]vla-SetText[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] dlst[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] dlst[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]caddr[/color][/b] dlst[b][color=RED])[/color][/b] str[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b] [b][color=#ff00ff]"\n<< No Tables Found in Drawing >>"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

[i][color=#990099]; Gile[/color][/i]
[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] Number2Alpha [b][color=RED]([/color][/b]Num# [b][color=BLUE]/[/color][/b] Val#[b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]<[/color][/b] Num# [b][color=#009900]27[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]chr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]+[/color][/b] [b][color=#009900]64[/color][/b] Num#[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]=[/color][/b] [b][color=#009900]0[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] Val# [b][color=RED]([/color][/b][b][color=BLUE]rem[/color][/b] Num# [b][color=#009900]26[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b]Number2Alpha [b][color=RED]([/color][/b][b][color=BLUE]1-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] Num# [b][color=#009900]26[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]"Z"[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b]Number2Alpha [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] Num# [b][color=#009900]26[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]chr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]+[/color][/b] [b][color=#009900]64[/color][/b] Val#[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
                        
                           
                                        

Link to comment
Share on other sites

Lee Mac, you are genious. What to say.

Just I have different conversion factor for Area (.0001) and Length (.01).

How to do it when putting total.

Link to comment
Share on other sites

Just alter the formula afterwards to include *0.001, or whatever.

 

I can't do everything for you.

 

What? I heard Lee Mac does it all! Again, nice work as usual! 8)

Link to comment
Share on other sites

  • 1 year later...

reopening this thread since I'm searching for the same solution.

 

I tried the attached lisp routine but I only get ##### in return from the table summation

 

looking at the formula it can look something like this:

 

=Table(52).A1+Table(46).A1+Table(45).A3

 

although when I choose formula>cell it gives something like =Table(8796053525552).A1 for table(52).A1

 

Is there a solution to this? (using 2009)

Link to comment
Share on other sites

noone?

 

I think the problem lies within the table.objectid property collected. This is seemingly different from the id collected using formula->cell.

 

Gruesome enough I can't find the strange code (879...) in any dxf code property for the table.

 

:wacko:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...