Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / General Excel Questions / May 2008

Tip: Looking for answers? Try searching our database.

List of Permutations when 2 letter is taken at a time

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Prem - 21 May 2008 14:24 GMT
Hi All,

I want to get list of all possible permutations when conditions defined. For
example, I have a word "AMERICA". And I need the list of permutations when
two
letter is taken at a time.

AM
AE
AR
AI
AC
AA
..
..
..

I hope I am clear and I really need your help.

Regards

Prem
Mike H - 21 May 2008 14:32 GMT
Hi,

Type AMERICA in column A starting in A1 and ending in A7.The rest of colum A
should be empty. Right click the sheet tab, view code and paste the code
below in and run it. The permutatins will be in column B

Sub combinations2()
'Perm any 2 from x
'Numbers/Text in Column A
last = Cells(Rows.Count, "A").End(xlUp).Row
   For j = 1 To last - 1
       For k = j + 1 To last
           Cells(l + 1, 2) = Cells(j, 1) & Cells(k, 1)
           l = l + 1
       Next
   Next
End Sub

Mike

> Hi All,
>
[quoted text clipped - 18 lines]
>
> Prem
Mike H - 21 May 2008 14:45 GMT
Better I think,

Type the word AMERICA in A1 and run this code.

Sub combinations3()
'Perm any 2 from x
mystring = Range("A1").Value
   For j = 1 To Len(mystring) - 1
       For k = j + 1 To Len(mystring)
           Cells(l + 1, 2) = Mid(mystring, j, 1) & Mid(mystring, k, 1)
           l = l + 1      
       Next    
   Next
End Sub

Mike

> Hi All,
>
[quoted text clipped - 18 lines]
>
> Prem
Evan Weiner - 21 May 2008 15:36 GMT
I think these are combinations.  Permutations need two full loops with a skip
on j=k.

If you're VBA-averse, it still can be done, albeit messy.  Set up two index
columns  B & C with formulas
=INT((ROW()-1)/$A$2)+1
=1+MOD(ROW()-1,$A$2)
$A$2 is the length of "AMERICA", =LEN(A1) with the word in A1.  Then in
another column put
=MID($A$1,B1,1)&MID($A$1,C1,1)
This unfortunately repeats the same letter.  It can be cleaned up by
detecting such in the index columns and filtering.  This is an excellent
example showing how the VBA can be concise, but the authorities can't seem to
see it.

> Better I think,
>
[quoted text clipped - 35 lines]
> >
> > Prem
Mike H - 21 May 2008 16:01 GMT
Length of America=7

=permut(7,2)=42
This returns the 42 permutations

Sub combinations2()
'Perm any 2 from x
'Numbers/Text in Column A
mystring = Range("A1").Value
   For j = 1 To Len(mystring) - 1
       For k = j + 1 To Len(mystring)
           Cells(l + 1, 2) = Mid(mystring, j, 1) & Mid(mystring, k, 1)
           l = l + 1
           Cells(l + 1, 2) = Mid(mystring, k, 1) & Mid(mystring, j, 1)
           l = l + 1
       Next  
   Next
End Sub

Mike

> I think these are combinations.  Permutations need two full loops with a skip
> on j=k.
[quoted text clipped - 50 lines]
> > >
> > > Prem
Prem - 21 May 2008 19:04 GMT
Hi,

Thanks a lot Mike for your help. Thanks al lot Evan, I appreciate your help.
You really made my day.

Warm regards

Prem

> Length of America=7
>
[quoted text clipped - 71 lines]
> > > >
> > > > Prem
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.