![]() |
Transpose-relative cell references would be useful.
I use multiplication tables to give new users a sense of the power of mixed
absolute and relative references; with a row of numbers along the top and a column along the side, a single formula can easily produce the table. But sometimes I don't want to copy/paste-special-transpose to produce the source row from the source column. I'd like a new symbol, let's say "%", to mean "transpose-relative" as "$" means "absolute". So if my source was in A1:A10, I could put "=$A1*$A%1" into B1, fill right and down, and be done. The "%" would mean that as the formula's _column_ changes, the _row_ of the reference changes, or vice versa if the % precedes the column reference. For extra credit, make double-clicking the grow-handle of such a cell expand to the appropriate square and fill along both axes. |
If I could only understand what you mean, perhaps there's a way to do it. But
you won't get anywhere re the % symbol. It already has a meaning: percent. On Mon, 14 Mar 2005 07:31:02 -0800, carlmanaster wrote: I use multiplication tables to give new users a sense of the power of mixed absolute and relative references; with a row of numbers along the top and a column along the side, a single formula can easily produce the table. But sometimes I don't want to copy/paste-special-transpose to produce the source row from the source column. I'd like a new symbol, let's say "%", to mean "transpose-relative" as "$" means "absolute". So if my source was in A1:A10, I could put "=$A1*$A%1" into B1, fill right and down, and be done. The "%" would mean that as the formula's _column_ changes, the _row_ of the reference changes, or vice versa if the % precedes the column reference. For extra credit, make double-clicking the grow-handle of such a cell expand to the appropriate square and fill along both axes. |
carlmanaster wrote...
.... But sometimes I don't want to copy/paste-special-transpose to produce the source row from the source column. I'd like a new symbol, let's say "%", to mean "transpose-relative" as "$" means "absolute". So if my source was in A1:A10, I could put "=$A1*$A%1" into B1, fill right and down, and be done. Wouldn't you need your source column in A2:A11 in order for there to be room in row 1 to hold the source row in B1:K1? Once that correction to your specs is made, you could use =OFFSET($A$1,COLUMN()-1,0) in B1 and fill right. Or you could select B1:K1 and enter the array formula =TRANSPOSE(A2:A11). The "%" would mean that as the formula's _column_ changes, the _row_ of the reference changes, or vice versa if the % precedes the column reference. And you expect this to be easier for new users to understand? Unfortunately, Excel is not APL, so no A jot-dot-times A. But also not so bad *IF* you use array formulas. Select B2:K11 and enter the array formula =A2:A11*TRANSPOSE(A2:A11) Perhaps not straightforward, but also not rocket science. For extra credit, make double-clicking the grow-handle of such a cell expand to the appropriate square and fill along both axes. If you want extraneous functionality, there are several open source spreadsheets you could modify to satisfy your whims. Earn your own extra credit. |
Thanks, Myrna,
I'm not particularly fussy about the symbol. And my post wound up here rather inadvertently; I submitted it as a suggestion to MS, but their suggestion form evidently routes things to the newsgroup. So... Since I obviously didn't explain myself very well for this audience, let me try again. If I Fill Right from B2 into C2 this formula: =$A2*B$1 I get =$A2*C$1 If I Fill Down into B3, I get =$A3*B$1 And that's how I would fill out a multiplication table, filling column A and row 1 with the initial values. But let's say, for whatever reason, I didn't want to duplicate the values from column A into row 1. I can still put =$A2*A2 into B2, and Filling Down will still work as desired. But I also want to Fill Right - I still want a multiplication table - but when I Fill Right, I get =$A2*B2 But I _want_ =$A2*A3 I want the _row_ of the second term to change, although I have copied the cell to another _column_. That's what I'm proposing, and if you've got a better name for it than "transpose-relative references," I'd love to hear it. Is that any clearer? Thanks, --Carl |
Hi, Harlan,
Thanks for the various suggestions with TRANSPOSE, etc.; I was making this suggestion to MS and it got to the newsgroup without my planning it. And you expect this to be easier for new users to understand? Well - let's put it this way. I've introduced a lot of people to relative and absolute reference, and I would guess somewhere between 10 and 20% of them "get" it, or anyway keep it. My _guess_ is that something like 80% of those who "get" absolute & relative references could also "get" transpose-relative references, and some fraction of them would actually have a use for it. I occasionally find myself doing a lot of pairwise comparisons, and I know there are fields in which that's common; this notation seems nicer, to me, than the kinds of formulas you propose. Look, it's not really much of a hassle to do copy-paste-special-transpose; it just seems like there are times I would prefer to be able to do it this way. If you want extraneous functionality, there are several open source spreadsheets you could modify to satisfy your whims. Earn your own extra credit. :-) Well, actually, I'm writing my own (closed-source) spreadsheet, and it's in the course of developing and testing it that I came up with this idea. I figure the idea will benefit a whole lot more people if Microsoft puts it into Excel than if I put it into mine! Peace, --Carl |
|
|
Hi, Harlan,
=$A2*$A%2 You have it exactly right. And it's not _terribly_ hard to work out - the columns must be absolute, because the only source data is in column A; one of the row terms must be relative, so that it changes normally; the other must therefore be transpose-relative. While this syntax is well-defined, I'll bet you most people would find it confusing to opaque. I'm sure they would - most people, after all, find absolute references confusing. But I think it may be useful enough in enough situations that a number of people would be happy to have it. With regard to supporting %A1, A%1, and %A%1 - I agree, for purposes of symmetry and simple rules. But for the purpose I have in mind - pairwise comparison among items in a column, all you really need to know is $A%1. It's hard for me to imagine a need for %A%1, although I guess it could give you a "transpose-in-place" kind of functionality that might be nice if you're pasting data into a template. Thanks for all the feedback. Peace, --Carl |
All times are GMT +1. The time now is 09:31 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com