- ベストアンサー
エクセルでの数字の扱いについて
エクセルで仕事のデータ整理をしていたのですが、たとえば、セルの書式を標準にして「3-1」と入力すると、勝手に日付になってしまいますよね。 そこで、「文字列」として「3-1」とか入力していたのですが、vlookupで「3-1と入力したら、この表の3-1の右にある値を入力」というように関数をいれると、「3-1」も「3-10」も全て同じと判断されてしまいました。 いろいろ(3-1とかを)記号化したりしてたのですが、1-1をa1としても、結局a1,a10が同じに見られてしまって、うまくいきません。 二桁を使わないようにすると、もとのデータとの照合がややこしくて…。 データの並べ替えでも、1 10 2 3 4 5 6 7 8 9 というように、10がちゃんと9の下に来ないことってありますよね? 3-1と入力しても日付に変化せず、しかも3-1と3-10を区別してもらうようにするには、どうしたら良いのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
日付けにならないようにするのには3-1を文字列として入力する方法でOKだと思います。 ただ、2桁を使うのなら1~9までの1桁の番号は01、02~09のように0を加えればたぶん検索もうまくいくと思いますよ。 とりあえず今試してみたので大丈夫だと思います。 お仕事がんばってくださいね~
その他の回答 (3)
- houng
- ベストアンサー率25% (103/397)
そのセルの文字の数を数えて43文字のときを抽出すれば3-1と3-10を区別できます。 3-1の入っているセルを a1 とすると、 if(ren(a1)>3,a1) で3-1と3-10は区別できますよ。 これの応用で、-の位置が右から2番目か3番目かで区別する方法も有ります。
お礼
アドバイスありがとうございました。 ただ、ちょっと私には高度というか、 43文字とかrenというのが分からず… もともとの式を質問に書いてなかったので 申し訳ないです。IFの中にvlookupをいれてた 式だったので、if if と二つ使う勇気もなく…。 せっかくご回答いただいたのに活用できなくて すみません。 もうちょっと上達した時のために、メモを控え させていただいてます!
- taxi12345
- ベストアンサー率71% (5/7)
やはり、文字列だと10が1の次にきてしまうみたいです。 ここは、まず3-1と入力して、3月1日ってなったところで、セル書式設定で[表示形式]のタブを選んで、一番下の“ユーザー定義”を選ぶと、そこが「m"月"d"日"」となっているのを、「m"-"d」にしちゃうと、うまくいきますよ。邪道かな。
お礼
1と10を区別してくれないって、初心者にはかなり痛いシステムです…(i々i) 定義というの、いじったことがなかったのですが、その手もあったか!と感心しました☆ 回答ありがとうございました!
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
もし、 =VLOOKUP(検索値,セル範囲,列番号) の様に入力されていたら =VLOOKUP(検索値,セル範囲,列番号,FALSE) の様に入力してみてください。
お礼
回答ありがとうございました。 早速試させていただいたのですが、 IFとの組み合わせをしてたりするのがいけないのか うまくいかず…。 いつもTRUEでばかり使っていたので(それしか知らず…)FALSEという手もあるのを学習できました! ありがとうございました!
お礼
職場で回答拝見して早速やってみました! 3-1 を31 とかいろいろやってたのですが、 01にするという考えが浮かばず…。 試してまでいただいたようで、ありがとう ございました! うまくいきました~♪ラクにできたので これでずっとやっていけると思います!