Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default help reducing this long nested functuion?

I was making a binary converter in Excel 2007, a challange from my teacher,
and I found that using multiple IF functions inside a TEXT function I can
turn a group of cells into one data entry.

The full function is:
=TEXT(IF(C8=1,C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF (D8=1,D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF(E8=1,E8&F 8&G8&H8&I8&J8&K8&L8&M8,IF(F8=1,F8&G8&H8&I8&J8&K8& L8&M8,IF(G8=1,G8&H8&I8&J8&K8&L8&M8,IF(H8=1,H8&I8 &J8&K8&L8&M8,IF(I8=1,I8&J8&K8&L8&M8,IF(J8=1,J8&K 8&L8&M8,IF(K8=1,K8&L8&M8,IF(L8=1,L8&M8,M8))))))) ))),0)

The refernces refer to the 10 cells in which digits of a number can be
stored and the IFs are used to stop 0s being placed in front of the
digits=1. I had to use all of the & signs because the TEXT function wouldn't
recognise entries such as C8:M8, and I wanted to reduce the number of IF
functions so it would save as a 2003 file.

Can anyone help?
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default help reducing this long nested functuion?

You will have to tell your teacher you got this online (he/she will be able
to check); besides, he/she will know you didn't come up with this on your
own.

Okay, with that said... how about not using any IF function calls at all?

=TEXT(--(C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8),"0")

--
Rick (MVP - Excel)


"Herald" wrote in message
...
I was making a binary converter in Excel 2007, a challange from my teacher,
and I found that using multiple IF functions inside a TEXT function I can
turn a group of cells into one data entry.

The full function is:
=TEXT(IF(C8=1,C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF (D8=1,D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF(E8=1,E8&F 8&G8&H8&I8&J8&K8&L8&M8,IF(F8=1,F8&G8&H8&I8&J8&K8& L8&M8,IF(G8=1,G8&H8&I8&J8&K8&L8&M8,IF(H8=1,H8&I8 &J8&K8&L8&M8,IF(I8=1,I8&J8&K8&L8&M8,IF(J8=1,J8&K 8&L8&M8,IF(K8=1,K8&L8&M8,IF(L8=1,L8&M8,M8))))))) ))),0)

The refernces refer to the 10 cells in which digits of a number can be
stored and the IFs are used to stop 0s being placed in front of the
digits=1. I had to use all of the & signs because the TEXT function
wouldn't
recognise entries such as C8:M8, and I wanted to reduce the number of IF
functions so it would save as a 2003 file.

Can anyone help?


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8,520
Default help reducing this long nested functuion?

Does this work?

=INT(TRIM(C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8))

OR this UDF (User Defined function). From workbook launch VBE using Alt+F11.
From menu Insert a Module and paste the below function.Close and get back to
workbook and try the below formula.

=concat(C8:M8)

Function CONCAT(varRange As Range) As String
Dim blnStart As Boolean
For Each cell In varRange
If blnStart = False Then
If cell = 1 Then blnStart = True
End If
If blnStart = True Then CONCAT = CONCAT & cell
Next
If CONCAT = vbNullString Then CONCAT = cell
End Function



If this post helps click Yes
---------------
Jacob Skaria


"Herald" wrote:

I was making a binary converter in Excel 2007, a challange from my teacher,
and I found that using multiple IF functions inside a TEXT function I can
turn a group of cells into one data entry.

The full function is:
=TEXT(IF(C8=1,C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF (D8=1,D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF(E8=1,E8&F 8&G8&H8&I8&J8&K8&L8&M8,IF(F8=1,F8&G8&H8&I8&J8&K8& L8&M8,IF(G8=1,G8&H8&I8&J8&K8&L8&M8,IF(H8=1,H8&I8 &J8&K8&L8&M8,IF(I8=1,I8&J8&K8&L8&M8,IF(J8=1,J8&K 8&L8&M8,IF(K8=1,K8&L8&M8,IF(L8=1,L8&M8,M8))))))) ))),0)

The refernces refer to the 10 cells in which digits of a number can be
stored and the IFs are used to stop 0s being placed in front of the
digits=1. I had to use all of the & signs because the TEXT function wouldn't
recognise entries such as C8:M8, and I wanted to reduce the number of IF
functions so it would save as a 2003 file.

Can anyone help?

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default help reducing this long nested functuion?

See inline comments...

Does this work?

=INT(TRIM(C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8))


Or, without using function calls...

=--(C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8)

However, that returns a number and I assumed from the structure of his
posted formula that he wanted the result as Text (which I'm guessing you
recognize because your UDF returns a String) which is why I wrapped that in
a TEXT function call in my response to this question.

OR this UDF (User Defined function). From workbook launch VBE using
Alt+F11.
From menu Insert a Module and paste the below function.Close and get back
to
workbook and try the below formula.

=concat(C8:M8)

Function CONCAT(varRange As Range) As String
Dim blnStart As Boolean
For Each cell In varRange
If blnStart = False Then
If cell = 1 Then blnStart = True
End If
If blnStart = True Then CONCAT = CONCAT & cell
Next
If CONCAT = vbNullString Then CONCAT = cell
End Function


Or, as a one-liner...

Function CONCAT(varRange As Range) As String
CONCAT = CLng(Join(WorksheetFunction.Transpose( _
WorksheetFunction.Transpose(varRange)), ""))
End Function

--
Rick (MVP - Excel)


"Jacob Skaria" wrote in message
...
Does this work?

=INT(TRIM(C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8))

OR this UDF (User Defined function). From workbook launch VBE using
Alt+F11.
From menu Insert a Module and paste the below function.Close and get back
to
workbook and try the below formula.

=concat(C8:M8)

Function CONCAT(varRange As Range) As String
Dim blnStart As Boolean
For Each cell In varRange
If blnStart = False Then
If cell = 1 Then blnStart = True
End If
If blnStart = True Then CONCAT = CONCAT & cell
Next
If CONCAT = vbNullString Then CONCAT = cell
End Function



If this post helps click Yes
---------------
Jacob Skaria


"Herald" wrote:

I was making a binary converter in Excel 2007, a challange from my
teacher,
and I found that using multiple IF functions inside a TEXT function I can
turn a group of cells into one data entry.

The full function is:
=TEXT(IF(C8=1,C8&D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF (D8=1,D8&E8&F8&G8&H8&I8&J8&K8&L8&M8,IF(E8=1,E8&F 8&G8&H8&I8&J8&K8&L8&M8,IF(F8=1,F8&G8&H8&I8&J8&K8& L8&M8,IF(G8=1,G8&H8&I8&J8&K8&L8&M8,IF(H8=1,H8&I8 &J8&K8&L8&M8,IF(I8=1,I8&J8&K8&L8&M8,IF(J8=1,J8&K 8&L8&M8,IF(K8=1,K8&L8&M8,IF(L8=1,L8&M8,M8))))))) ))),0)

The refernces refer to the 10 cells in which digits of a number can be
stored and the IFs are used to stop 0s being placed in front of the
digits=1. I had to use all of the & signs because the TEXT function
wouldn't
recognise entries such as C8:M8, and I wanted to reduce the number of IF
functions so it would save as a 2003 file.

Can anyone help?


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
http://CannotDeleteFile.net - Cannot Delete File? Try Long Path ToolFilename is too long? Computer Complaining Your Filename Is Too Long? TheLong Path Tool Can Help While most people can go about their businessblissfully unaware of the Windo Max Loger Excel Discussion (Misc queries) 0 June 14th 11 04:30 PM
Long Long Long Nested If Function sed Excel Discussion (Misc queries) 4 December 9th 09 06:44 PM
Nested IF too long - other suggestions? ExchangeNewbie Excel Worksheet Functions 7 September 16th 08 04:26 PM
Clearing cells takes long, long time unclemuffin Excel Discussion (Misc queries) 9 August 17th 07 02:22 AM
Date functuion. Houm Excel Worksheet Functions 1 April 6th 05 04:20 PM


All times are GMT +1. The time now is 10:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"