+ Reply to Thread
Results 1 to 4 of 4

IsNumber & Mid function

  1. #1
    El Bee
    Guest

    IsNumber & Mid function

    I have a cell (B2) that contains "RT3ERIDU"

    I wrote a simple formula =IF(ISNUMBER(MID(B2,3,1)),LEFT(B2,3),LEFT(B2,2))

    If the third character is a number I want to extract the first 3 characters
    otherwise extract the first 2.

    This isn't working and I don't understand why.
    If I setup another cell with just the MID function then the cell displays
    the number 3.

    What am I missing here?

  2. #2
    bpeltzer
    Guest

    RE: IsNumber & Mid function

    MID returns a string, so the isnumber function returns false, even if it's a
    text representation of a number. I'd use iserror(value()) instead:
    =if(iserror(value(mid(b2,3,1))),left(b2,2),left(b2,3))
    If mid doesn't return a digit, then the isserror(value()) will be true and
    this only returns two digits. Otherwise iserror is false and you get three
    digits.

    "El Bee" wrote:

    > I have a cell (B2) that contains "RT3ERIDU"
    >
    > I wrote a simple formula =IF(ISNUMBER(MID(B2,3,1)),LEFT(B2,3),LEFT(B2,2))
    >
    > If the third character is a number I want to extract the first 3 characters
    > otherwise extract the first 2.
    >
    > This isn't working and I don't understand why.
    > If I setup another cell with just the MID function then the cell displays
    > the number 3.
    >
    > What am I missing here?


  3. #3
    Alan
    Guest

    Re: IsNumber & Mid function

    Another way,
    =IF(ISNUMBER(MID(B2,3,1)*1),LEFT(B2,3),LEFT(B2,2))
    the *1 forces the text value into a numerical value,
    Regards,
    Alan.
    "bpeltzer" <bpeltzer.deletethissuffix@cox.net> wrote in message
    news:847C00B8-2905-4E3A-9834-0556BAD8A041@microsoft.com...
    > MID returns a string, so the isnumber function returns false, even if it's
    > a
    > text representation of a number. I'd use iserror(value()) instead:
    > =if(iserror(value(mid(b2,3,1))),left(b2,2),left(b2,3))
    > If mid doesn't return a digit, then the isserror(value()) will be true and
    > this only returns two digits. Otherwise iserror is false and you get
    > three
    > digits.
    >
    > "El Bee" wrote:
    >
    >> I have a cell (B2) that contains "RT3ERIDU"
    >>
    >> I wrote a simple formula =IF(ISNUMBER(MID(B2,3,1)),LEFT(B2,3),LEFT(B2,2))
    >>
    >> If the third character is a number I want to extract the first 3
    >> characters
    >> otherwise extract the first 2.
    >>
    >> This isn't working and I don't understand why.
    >> If I setup another cell with just the MID function then the cell displays
    >> the number 3.
    >>
    >> What am I missing here?




  4. #4
    El Bee
    Guest

    Re: IsNumber & Mid function

    Alan, Thanks!

    This is a much easier and maintainable formula.

    "Alan" wrote:

    > Another way,
    > =IF(ISNUMBER(MID(B2,3,1)*1),LEFT(B2,3),LEFT(B2,2))
    > the *1 forces the text value into a numerical value,
    > Regards,
    > Alan.
    > "bpeltzer" <bpeltzer.deletethissuffix@cox.net> wrote in message
    > news:847C00B8-2905-4E3A-9834-0556BAD8A041@microsoft.com...
    > > MID returns a string, so the isnumber function returns false, even if it's
    > > a
    > > text representation of a number. I'd use iserror(value()) instead:
    > > =if(iserror(value(mid(b2,3,1))),left(b2,2),left(b2,3))
    > > If mid doesn't return a digit, then the isserror(value()) will be true and
    > > this only returns two digits. Otherwise iserror is false and you get
    > > three
    > > digits.
    > >
    > > "El Bee" wrote:
    > >
    > >> I have a cell (B2) that contains "RT3ERIDU"
    > >>
    > >> I wrote a simple formula =IF(ISNUMBER(MID(B2,3,1)),LEFT(B2,3),LEFT(B2,2))
    > >>
    > >> If the third character is a number I want to extract the first 3
    > >> characters
    > >> otherwise extract the first 2.
    > >>
    > >> This isn't working and I don't understand why.
    > >> If I setup another cell with just the MID function then the cell displays
    > >> the number 3.
    > >>
    > >> What am I missing here?

    >
    >
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1