[[20120504115008]] 『住所録の都道府県を書き出す』(ほとほと) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『住所録の都道府県を書き出す』(ほとほと)
 都道府県から入力されている住所録の道府県を書き出す関数
  A2に神奈川県横浜市緑区  C2に=LEFT(A2,FIND("県",A2))として
 これにOR関数を使い都道府を入れようとしたが上手行きませんでした
 方法を教えてください

 Vista  Excel2007
  


 =IF(MID(A1,4,1)="県",LEFT(A1,4),LEFT(A1,3))
 でどうでしょうか?

 (se_9)

 上手く行きました 文字判別にこだわり過ぎました
 都道府はすべて3文字ですよネ
 OR関数で都、道、府、県の文字位置を探す方法はありますか
 とりあえずはOKです
 有難うございました
 
         ほとほと

 OR関数を使うとなると
 =IF(OR(MID(A2,3,1)={"都","道","府","県"}),LEFT(A2,3),LEFT(A2,4))
 という感じでしょうか…?

 (se_9) 

早速のレスポンス有難うございます
 =IF(OR(MID(A2,3,1)={"都","道","府","県"}),LEFT(A2,3),LEFT(A2,4))
 ではOR関数が効いてないように思います
 OR関数とFIND関数で文字位置を探す方法はありませんか
 上手くいかなかった例 =LEFT(A2,FIND(OR("県","都","府"),A2)))
 FIND関数が条件ORを読めないみたいですOR関数の使い方が間違っているようです
 方法はありますか
  
          ほとほと


 いや、一応OR関数は効いていますが…。
 3文字目が都か道か府か県だったら左から3文字を取る、ということなので。
 ところでなぜOR関数を使うことにこだわっているのですか?

 (se_9)

FIND関数で分割する文字位置を検索してLEFT関数で書き出すためです
 たとえば製品番号のデータの場合123A4568と3453C789 12B56781等がある場合
 アルファベットのある位置は3番目から5番目とありますOR関数で文字位置を検索
 のは書き出す文字数が一定ない様な場合に対応するためです
 アルファベットで分割するためにはOR関数で切り取りたかったのです

                  ほとほと


 1文字目からアルファベットの前までの文字を抽出する方法です。
 OR関数以外でしかもあまりいい式ではないかもしれませんが…
 =MID(A1,1,FIND("★",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"A","★"),"B","★"),"C","★"))-1)

 SUBSTITUTEは最大8個までのネストが可能です。

 (se_9)

	[A]	[B]	[C]
[1]	123A4568	123A	4568
[2]	3453C789	3453C	789
[3]	12B56781	12B	56781

 C1=-LOOKUP(1,-RIGHT(A1,{1,2,3,4,5,6,7}))
 B1=LEFT(A1,LEN(A1)-LEN(C1))
 (Maron)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.