[Solved]?? Re: [libreoffice-users] Case function equivalent in Calc

2013-05-16 Thread Tom Davies
Hi :)
WoooHooo!!  Nicely done! :)  Is this whole thread solved now?  COngrats of so!
Regards from 
Tom :)  







 From: Carl Paulsen carlpaul...@comcast.net
To: users@global.libreoffice.org 
Sent: Thursday, 16 May 2013, 1:44
Subject: Re: [libreoffice-users] Case function equivalent in Calc
 

At long last I got this to work.  Syntax is ISBLANK and not ISEMPTY 
- aaa.  My Filemaker days are getting in my way.  Replace 
all isempty below with ISBLANK and it works perfectly now.

Carl


On 5/15/13 6:38 PM, Carl Paulsen wrote:
 So in the absence of a Case function, here's what I've done so far as 
 a calculated solution.  Note that the data I want to concatenate is in 
 cells U3, V3, W3, and X3.  In Y3, I put the following:

 =U3  IF(NOT(isempty(U3)),;,)  V3  IF(NOT(isempty(V3)),;,)  
 W3  IF(NOT(isempty(W3)),;,)  X3

 The idea is that I put together U3, a semicolon if U3 isn't empty (and 
 nothing if it is), V3 and a semicolon if V3 isn't empty, W3 and a 
 semicolon if W3 isn't empty, and X3.  If any of the cells is empty, 
 nothing will be added until the next cell that has data.

 Unfortunately, I'm getting a #NAME? error.  I'm assuming some kind of 
 syntax error.  Any words of wisdom?

 Thanks a ton all.
 Carl



 On 5/15/13 5:13 PM, Dan Lewis wrote:
 On 05/15/2013 04:16 PM, Carl Paulsen wrote:
 Anyone know if there is an equivalent to the Filemaker Pro Case 
 function?  It's kinda like the IF function but is simpler to 
 concatenate multiple conditions. It basically says If something is 
 true then do what is specified, if the next thing is, then do that, 
 if the next thing is true, do that, etc.

 Here's what I need to do.  Take 4 columns and concatenate with a 
 semi-colon between the values, but not string together two 
 semi-colons consecutively.  Like:

 Phone     Email     Mail - Phone;Email;Mail
 Phone                  Mail - Phone;Mail
                            Mail - Mail
               Email    Mail - Email;Mail

 So semi-colons only occur if there's a value present and not at all 
 if there's only one value present.
 I hope that makes sense and displays correctly.

 Carl
      I just checked the available functions in Calc. The Case 
 function does not appear among them. Case When is available in Base 
 database queries though.

 --Dan




-- 

Carl Paulsen

8 Hamilton Street

Dover, NH 03820

(603) 749-2310


-- 
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted



-- 
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted



Re: [Solved] Re: [libreoffice-users] Case function equivalent in Calc

2013-05-16 Thread Carl Paulsen

Hi Tom.

Well, not quite.  In my particular case this formula worked.  But with 
some off-list input from smarter brains than mine, I realize it wouldn't 
work under many situations.


It turns out the formula would need to change a bit, otherwise what I 
did would leave a trailing semi-colon where column X is blank.  In fact, 
it's a tricky situation b/c a semi-colon is needed after U3 if U3 has a 
value AND any of the others has a value, otherwise not. Then, if V3 has 
a value and any of the other later cells has a value, there should be 
another semi-colon.  Etc. etc.  In the last case, a semi-colon should 
follow W3 only if there's a value in X3.


I've tried a bunch of formulas and the closest I've come is the following:

=A13IF(NOT(ISBLANK(A13))AND(NOT(ISBLANK(B13)))OR(NOT(ISBLANK(C13)))OR(NOT(ISBLANK(D13))),;,)B13IF(NOT(ISBLANK(B13))AND(NOT(ISBLANK(C13)))OR(NOT(ISBLANK(D13))),;,)C13IF(NOT(ISBLANK(C13))AND(NOT(ISBLANK(D13))),;,)D13

But that clearly doesn't work.  Note I'm working in a test sheet and am 
using different cells.  This formula leaves leading semi-colons under a 
number of situations and double semi-colons under others. I'm not 
entirely sure CASE would work any better here though.


Anyone want to help out, great.  But it's a pretty specialized 
situation, so I understand if not.


Carl


On 5/16/13 3:02 AM, Tom Davies wrote:

Hi :)
WoooHooo!!  Nicely done! :)  Is this whole thread solved now?  
COngrats of so!

Regards from
Tom :)




*From:* Carl Paulsen carlpaul...@comcast.net
*To:* users@global.libreoffice.org
*Sent:* Thursday, 16 May 2013, 1:44
*Subject:* Re: [libreoffice-users] Case function equivalent in Calc

At long last I got this to work.  Syntax is ISBLANK and not
ISEMPTY
- aaa.  My Filemaker days are getting in my way.  Replace
all isempty below with ISBLANK and it works perfectly now.

Carl


On 5/15/13 6:38 PM, Carl Paulsen wrote:
 So in the absence of a Case function, here's what I've done so
far as
 a calculated solution.  Note that the data I want to concatenate
is in
 cells U3, V3, W3, and X3.  In Y3, I put the following:

 =U3  IF(NOT(isempty(U3)),;,)  V3 
IF(NOT(isempty(V3)),;,) 
 W3  IF(NOT(isempty(W3)),;,)  X3

 The idea is that I put together U3, a semicolon if U3 isn't
empty (and
 nothing if it is), V3 and a semicolon if V3 isn't empty, W3 and a
 semicolon if W3 isn't empty, and X3.  If any of the cells is empty,
 nothing will be added until the next cell that has data.

 Unfortunately, I'm getting a #NAME? error.  I'm assuming some
kind of
 syntax error.  Any words of wisdom?

 Thanks a ton all.
 Carl



 On 5/15/13 5:13 PM, Dan Lewis wrote:
 On 05/15/2013 04:16 PM, Carl Paulsen wrote:
 Anyone know if there is an equivalent to the Filemaker Pro Case
 function?  It's kinda like the IF function but is simpler to
 concatenate multiple conditions. It basically says If
something is
 true then do what is specified, if the next thing is, then do
that,
 if the next thing is true, do that, etc.

 Here's what I need to do.  Take 4 columns and concatenate with a
 semi-colon between the values, but not string together two
 semi-colons consecutively.  Like:

 PhoneEmailMail - Phone;Email;Mail
 Phone  Mail - Phone;Mail
Mail - Mail
  EmailMail - Email;Mail

 So semi-colons only occur if there's a value present and not
at all
 if there's only one value present.
 I hope that makes sense and displays correctly.

 Carl
  I just checked the available functions in Calc. The Case
 function does not appear among them. Case When is available
in Base
 database queries though.

 --Dan




-- 


Carl Paulsen

8 Hamilton Street

Dover, NH 03820

(603) 749-2310


-- 
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org

mailto:unsubscr...@global.libreoffice.org
Problems?
http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more:
http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and
cannot be deleted




--

Carl Paulsen

8 Hamilton Street

Dover, NH 03820

(603) 749-2310


--
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted



Re: [Solved] Re: [libreoffice-users] Case function equivalent in Calc

2013-05-16 Thread mcmurchy1917-libreoffice
Just a quick question. What happens if any of the fields already contains a 
semi-colon?

Iain

On Thursday 16 May 2013 10:23:23 Carl Paulsen wrote:
 Hi Tom.
 
 Well, not quite.  In my particular case this formula worked.  But with
 some off-list input from smarter brains than mine, I realize it wouldn't
 work under many situations.
 
 It turns out the formula would need to change a bit, otherwise what I
 did would leave a trailing semi-colon where column X is blank.  In fact,
 it's a tricky situation b/c a semi-colon is needed after U3 if U3 has a
 value AND any of the others has a value, otherwise not. Then, if V3 has
 a value and any of the other later cells has a value, there should be
 another semi-colon.  Etc. etc.  In the last case, a semi-colon should
 follow W3 only if there's a value in X3.
 
 I've tried a bunch of formulas and the closest I've come is the following:
 
 =A13IF(NOT(ISBLANK(A13))AND(NOT(ISBLANK(B13)))OR(NOT(ISBLANK(C13)))OR(NOT(I
 SBLANK(D13))),;,)B13IF(NOT(ISBLANK(B13))AND(NOT(ISBLANK(C13)))OR(NOT(I
 SBLANK(D13))),;,)C13IF(NOT(ISBLANK(C13))AND(NOT(ISBLANK(D13))),;,)
 D13
 
 But that clearly doesn't work.  Note I'm working in a test sheet and am
 using different cells.  This formula leaves leading semi-colons under a
 number of situations and double semi-colons under others. I'm not
 entirely sure CASE would work any better here though.
 
 Anyone want to help out, great.  But it's a pretty specialized
 situation, so I understand if not.
 
 Carl
 
 On 5/16/13 3:02 AM, Tom Davies wrote:
  Hi :)
  WoooHooo!!  Nicely done! :)  Is this whole thread solved now?
  COngrats of so!
  Regards from
  Tom :)
  
  --
  --
  *From:* Carl Paulsen carlpaul...@comcast.net
  *To:* users@global.libreoffice.org
  *Sent:* Thursday, 16 May 2013, 1:44
  *Subject:* Re: [libreoffice-users] Case function equivalent in Calc
  
  At long last I got this to work.  Syntax is ISBLANK and not
  ISEMPTY
  - aaa.  My Filemaker days are getting in my way.  Replace
  all isempty below with ISBLANK and it works perfectly now.
  
  Carl
  
  On 5/15/13 6:38 PM, Carl Paulsen wrote:
   So in the absence of a Case function, here's what I've done so
  
  far as
  
   a calculated solution.  Note that the data I want to concatenate
  
  is in
  
   cells U3, V3, W3, and X3.  In Y3, I put the following:
   
   =U3  IF(NOT(isempty(U3)),;,)  V3 
  
  IF(NOT(isempty(V3)),;,) 
  
   W3  IF(NOT(isempty(W3)),;,)  X3
   
   The idea is that I put together U3, a semicolon if U3 isn't
  
  empty (and
  
   nothing if it is), V3 and a semicolon if V3 isn't empty, W3 and a
   semicolon if W3 isn't empty, and X3.  If any of the cells is empty,
   nothing will be added until the next cell that has data.
   
   Unfortunately, I'm getting a #NAME? error.  I'm assuming some
  
  kind of
  
   syntax error.  Any words of wisdom?
   
   Thanks a ton all.
   Carl
   
   On 5/15/13 5:13 PM, Dan Lewis wrote:
   On 05/15/2013 04:16 PM, Carl Paulsen wrote:
   Anyone know if there is an equivalent to the Filemaker Pro Case
   function?  It's kinda like the IF function but is simpler to
   concatenate multiple conditions. It basically says If
  
  something is
  
   true then do what is specified, if the next thing is, then do
  
  that,
  
   if the next thing is true, do that, etc.
   
   Here's what I need to do.  Take 4 columns and concatenate with a
   semi-colon between the values, but not string together two
   semi-colons consecutively.  Like:
   
   PhoneEmailMail - Phone;Email;Mail
   Phone  Mail - Phone;Mail
   
  Mail - Mail

EmailMail - Email;Mail
   
   So semi-colons only occur if there's a value present and not
  
  at all
  
   if there's only one value present.
   I hope that makes sense and displays correctly.
   
   Carl
   
I just checked the available functions in Calc. The Case
   
   function does not appear among them. Case When is available
  
  in Base
  
   database queries though.
   
   --Dan
  
  Carl Paulsen
  
  8 Hamilton Street
  
  Dover, NH 03820
  
  (603) 749-2310

-- 
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted



Re: [Solved] Re: [libreoffice-users] Case function equivalent in Calc

2013-05-16 Thread Dave Liesse

Here's a formula that works.  It's ugly, but it works.

=MID(SUBSTITUTE(SUBSTITUTE(;A1;B1;C1;D1;,;;,;),;;,;),2,LEN(SUBSTITUTE(SUBSTITUTE(;A1;B1;C1;D1;,;;,;),;;,;))-2)

The thing to do in a case like this is to break the problem down into 
sections.  There are many ways to approach this specific question, but 
here's my thought process.


1.  Go ahead and concatenate all the cells and worry later about whether 
or not they contain data.  Insert semicolons between values.


2.  Include a semicolon at the beginning and end of the string to 
accommodate the next two steps (in case the first or last cell is empty).


3.  Where two semicolons are consecutive, eliminate one of them.

4.  Eliminate the semicolons at the beginning and end of the string.

After that, I break the functions down to simplify construction of the 
monster.


A.  =MID([string],2,LEN([string]-2)
This strips the beginning and ending semicolons.

B.  =SUBSTITUTE([string],;;,;)
This replaces every instance of two semicolons with a single 
one.  Unfortunately, the function is not recursive, so if there are 
three in a row it will only make one replacement.  This why the final 
formula has two instances of the SUBSTITUTE function.


C.  [string] is the concatenation of everything.

Hope this helps!

Dave



On 5/16/2013 07:23, Carl Paulsen wrote:

Hi Tom.

Well, not quite.  In my particular case this formula worked.  But with 
some off-list input from smarter brains than mine, I realize it 
wouldn't work under many situations.


It turns out the formula would need to change a bit, otherwise what I 
did would leave a trailing semi-colon where column X is blank.  In 
fact, it's a tricky situation b/c a semi-colon is needed after U3 if 
U3 has a value AND any of the others has a value, otherwise not. Then, 
if V3 has a value and any of the other later cells has a value, there 
should be another semi-colon.  Etc. etc.  In the last case, a 
semi-colon should follow W3 only if there's a value in X3.


I've tried a bunch of formulas and the closest I've come is the 
following:


=A13IF(NOT(ISBLANK(A13))AND(NOT(ISBLANK(B13)))OR(NOT(ISBLANK(C13)))OR(NOT(ISBLANK(D13))),;,)B13IF(NOT(ISBLANK(B13))AND(NOT(ISBLANK(C13)))OR(NOT(ISBLANK(D13))),;,)C13IF(NOT(ISBLANK(C13))AND(NOT(ISBLANK(D13))),;,)D13 



But that clearly doesn't work.  Note I'm working in a test sheet and 
am using different cells.  This formula leaves leading semi-colons 
under a number of situations and double semi-colons under others. I'm 
not entirely sure CASE would work any better here though.


Anyone want to help out, great.  But it's a pretty specialized 
situation, so I understand if not.


Carl


On 5/16/13 3:02 AM, Tom Davies wrote:

Hi :)
WoooHooo!!  Nicely done! :)  Is this whole thread solved now? 
COngrats of so!

Regards from
Tom :)




*From:* Carl Paulsen carlpaul...@comcast.net
*To:* users@global.libreoffice.org
*Sent:* Thursday, 16 May 2013, 1:44
*Subject:* Re: [libreoffice-users] Case function equivalent in 
Calc


At long last I got this to work.  Syntax is ISBLANK and not
ISEMPTY
- aaa.  My Filemaker days are getting in my way.  
Replace

all isempty below with ISBLANK and it works perfectly now.

Carl


On 5/15/13 6:38 PM, Carl Paulsen wrote:
 So in the absence of a Case function, here's what I've done so
far as
 a calculated solution.  Note that the data I want to concatenate
is in
 cells U3, V3, W3, and X3.  In Y3, I put the following:

 =U3  IF(NOT(isempty(U3)),;,)  V3 
IF(NOT(isempty(V3)),;,) 
 W3  IF(NOT(isempty(W3)),;,)  X3

 The idea is that I put together U3, a semicolon if U3 isn't
empty (and
 nothing if it is), V3 and a semicolon if V3 isn't empty, W3 and a
 semicolon if W3 isn't empty, and X3.  If any of the cells is 
empty,

 nothing will be added until the next cell that has data.

 Unfortunately, I'm getting a #NAME? error.  I'm assuming some
kind of
 syntax error.  Any words of wisdom?

 Thanks a ton all.
 Carl



 On 5/15/13 5:13 PM, Dan Lewis wrote:
 On 05/15/2013 04:16 PM, Carl Paulsen wrote:
 Anyone know if there is an equivalent to the Filemaker Pro 
Case

 function?  It's kinda like the IF function but is simpler to
 concatenate multiple conditions. It basically says If
something is
 true then do what is specified, if the next thing is, then do
that,
 if the next thing is true, do that, etc.

 Here's what I need to do.  Take 4 columns and concatenate with a
 semi-colon between the values, but not string together two
 semi-colons consecutively.  Like:

 PhoneEmailMail - Phone;Email;Mail
 Phone  Mail - Phone;Mail
Mail - Mail
  EmailMail - Email;Mail

 So semi-colons 

Re: [Solved] Re: [libreoffice-users] Case function equivalent in Calc

2013-05-16 Thread Carl Paulsen
That wouldn't change anything.  The existing semi-colon would be treated 
as just text in the field contents, so it would show up where it is in 
the field as well as the formula one.  If you already have semi-colons 
in the fields at the end of the text, then they wouldn't be needed in my 
case.  But I didn't have them and didn't want to add them.



On 5/16/13 3:28 PM, mcmurchy1917-libreoff...@yahoo.co.uk wrote:

Just a quick question. What happens if any of the fields already contains a
semi-colon?

Iain

On Thursday 16 May 2013 10:23:23 Carl Paulsen wrote:

Hi Tom.

Well, not quite.  In my particular case this formula worked.  But with
some off-list input from smarter brains than mine, I realize it wouldn't
work under many situations.

It turns out the formula would need to change a bit, otherwise what I
did would leave a trailing semi-colon where column X is blank.  In fact,
it's a tricky situation b/c a semi-colon is needed after U3 if U3 has a
value AND any of the others has a value, otherwise not. Then, if V3 has
a value and any of the other later cells has a value, there should be
another semi-colon.  Etc. etc.  In the last case, a semi-colon should
follow W3 only if there's a value in X3.

I've tried a bunch of formulas and the closest I've come is the following:

=A13IF(NOT(ISBLANK(A13))AND(NOT(ISBLANK(B13)))OR(NOT(ISBLANK(C13)))OR(NOT(I
SBLANK(D13))),;,)B13IF(NOT(ISBLANK(B13))AND(NOT(ISBLANK(C13)))OR(NOT(I
SBLANK(D13))),;,)C13IF(NOT(ISBLANK(C13))AND(NOT(ISBLANK(D13))),;,)
D13

But that clearly doesn't work.  Note I'm working in a test sheet and am
using different cells.  This formula leaves leading semi-colons under a
number of situations and double semi-colons under others. I'm not
entirely sure CASE would work any better here though.

Anyone want to help out, great.  But it's a pretty specialized
situation, so I understand if not.

Carl

On 5/16/13 3:02 AM, Tom Davies wrote:

Hi :)
WoooHooo!!  Nicely done! :)  Is this whole thread solved now?
COngrats of so!
Regards from
Tom :)

 --
 --
 *From:* Carl Paulsen carlpaul...@comcast.net
 *To:* users@global.libreoffice.org
 *Sent:* Thursday, 16 May 2013, 1:44
 *Subject:* Re: [libreoffice-users] Case function equivalent in Calc
 
 At long last I got this to work.  Syntax is ISBLANK and not

 ISEMPTY
 - aaa.  My Filemaker days are getting in my way.  Replace
 all isempty below with ISBLANK and it works perfectly now.
 
 Carl
 
 On 5/15/13 6:38 PM, Carl Paulsen wrote:

  So in the absence of a Case function, here's what I've done so
 
 far as
 
  a calculated solution.  Note that the data I want to concatenate
 
 is in
 
  cells U3, V3, W3, and X3.  In Y3, I put the following:

 
  =U3  IF(NOT(isempty(U3)),;,)  V3 
 
 IF(NOT(isempty(V3)),;,) 
 
  W3  IF(NOT(isempty(W3)),;,)  X3

 
  The idea is that I put together U3, a semicolon if U3 isn't
 
 empty (and
 
  nothing if it is), V3 and a semicolon if V3 isn't empty, W3 and a

  semicolon if W3 isn't empty, and X3.  If any of the cells is empty,
  nothing will be added until the next cell that has data.
 
  Unfortunately, I'm getting a #NAME? error.  I'm assuming some
 
 kind of
 
  syntax error.  Any words of wisdom?

 
  Thanks a ton all.
  Carl
 
  On 5/15/13 5:13 PM, Dan Lewis wrote:
  On 05/15/2013 04:16 PM, Carl Paulsen wrote:
  Anyone know if there is an equivalent to the Filemaker Pro Case
  function?  It's kinda like the IF function but is simpler to
  concatenate multiple conditions. It basically says If
 
 something is
 
  true then do what is specified, if the next thing is, then do
 
 that,
 
  if the next thing is true, do that, etc.

 
  Here's what I need to do.  Take 4 columns and concatenate with a
  semi-colon between the values, but not string together two
  semi-colons consecutively.  Like:
 
  PhoneEmailMail - Phone;Email;Mail
  Phone  Mail - Phone;Mail
 
 Mail - Mail
 
   EmailMail - Email;Mail
 
  So semi-colons only occur if there's a value present and not
 
 at all
 
  if there's only one value present.

  I hope that makes sense and displays correctly.
 
  Carl
 
   I just checked the available functions in Calc. The Case
 
  function does not appear among them. Case When is available
 
 in Base
 
  database queries though.

 
  --Dan
 
 


--

Carl Paulsen



--
To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: