- ベストアンサー
エクセル関数
No4387521 の質問を再度させて頂きます。下記に表があります。 一番左の一文字だけを表示させたくない場合、どのような関数を使えばよいでしょうか。 表1 ○三越商事 ○大丸商事 △山田電機 伊勢丹商事 ◇高島屋商事 東武商事 △小島商事 ↓ 下記のようにしたい。 表2 三越商事 大丸商事 山田電機 伊勢丹商事 高島屋商事 東武商事 小島商事 表3 三越商事 大丸商事 山田電機 勢丹商事 高島屋商事 武商事 小島商事 求めたいものは表2ですが、回答頂いたものでは全て表3になってしまいます。最初の表1は全て左端によっていて、その中にある○、△だけを消したいのです。作業列等を使用して一回でできなくても構いません。どうかよろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
表1がA列として、B列にでも =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"○",""),"△",""),"◇","") と入れて下までコピィしてみてください。 SUBSTITUTE関数は文字を入れ替える関数ですが ○ を空白に △ を空白に ◇ を空白に と重ねて使っています。
その他の回答 (4)
- kuma56
- ベストアンサー率31% (1423/4528)
前回の回答で、頭の一文字を抜かす事は出来るようになったんですよねぇ? ならば、今回の >その中にある○、△だけを消したいのです。 の場合は、条件により処理の仕方が違う式になるので前回の関数式を IF関数 でくくってやればできませんか? 条件は頭の文字が○か△の場合のみなら、それらを OR関数 で括ってやればいいし、頭の一文字とか二文字目以降を指定する方法は前回の式を参考に何とかなりませんか? このサイトは、関数式やマクロの構文の作成を依頼するような、丸投げ質問は禁止されています。 親切な回答者の方は答えてくれますが、場合に因ると規約違反で削除される事もあります。 今回の質問も、 >作業列等を使用して一回でできなくても構いません。 という考えを持っているのなら、例えば一回目の作業列でどういう事をやって、次の作業列ではその答えをどうしたい、などと考えを述べた上で、使用する関数を訪ねたり、自分なりで選んだ関数式が上手くいかない時はその式と答えの表示を書いた上でアドバイスをもらう等しないと、質問が削除されてしまっては問題は解決しないだろうし、丸投げ病に侵されちゃったらご自身のスキルアップも望めなくなるかもしれませんよ。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
=right(A1,len(A1)-and(code(A1)>=code("☆"),code(A1)<=code("〓"))) 先頭が☆から〓の間なら抹消します。mige_gさんのようにcode関数 の返りが8000番台全部ってことだと、空白も消せます。その場合、 =right(A1,len(A1)-(floor(code(A1),1000)=8000)) なんて雑な書き方も出来ますが、何をやってるのか判りづらくなり ますね。最初の式のように抹消する範囲を明記するのがいいと思い ます。 先の質問はあなたの書き方が不十分でウマくいかなかったんですか ら、いきなり放置しないでお礼くらいは言っといた方がいいんじゃ ないですか。
=MID(A1,1+AND(CODE(LEFT(A1,1))>8000,CODE(LEFT(A1,1))<9000),99)
- diashun
- ベストアンサー率38% (94/244)
「IF」、「OR」、「LEFT」、「MID」の各関数で出来るようですが・・・ 表1が A1 ~ A7 にあるとして、求める結果を B1 ~ B7 に出力するものとして、 セルB1に以下をコピーし、B1をB7までコピーして下さい。 =IF(OR(LEFT(A1,1)="○",LEFT(A1,1)="△",LEFT(A1,1)="◇"),MID(A1,2,LEN(A1)-1),A1) 以上