advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 19645 for 20�����������������������... (0.004 sec.)
[[20040219111058]]
#score: 2682
@digest: eac324730eb077dfba2c1c7113d54570
@id: 5352
@mdate: 2004-02-19T10:07:21Z
@size: 3365
@type: text/plain
#keywords: 主部 (31360), 1000set (15368), 部," (14877), 0kg (10634), 最長 (4875), ト次 (4831), 前処 (4714), 番奥 (4638), 、- (2249), を戻 (2034), 値10 (2029), 該セ (1708), 一引 (1649), lookup (1611), left (1575), 「10 (1556), 分割 (1528), 列5 (1498), 痛感 (1459), 長の (1144), 」⇒ (1127), 割す (1056), 前述 (1018), 戻し (942), 一個 (844), を左 (831), 換で (830), 配列 (820), の配 (732), 変換 (699), 第一 (653), value (642)
『セル内の数値と文字列を分割したい』(ぱっくん)
1セルの中に入っている「10.0KG」とか「1000set」を 「10.0KG」⇒「10.0」「KG」 「1000set」⇒「1000」「set」 に関数で分割したいのですが、右から数値位置見つけて 分割するようなことは関数で可能でしょうか? ---- 分割する対象となる単位(?)がある程度決まっていて、 一列にずらーーっっと並んでいるのであれば、 置換で「KG」→「,KG」などに変換して「区切り位置」で 2列に分けてしまうのが簡単ですが、この方法はレイアウト次第でしょう。 (KAMIYA) ---- A1が当該セルだとしますと、 B1に =IF(COUNT(-LEFT(A1,ROW($1:$20))), LEFT(A1,LOOKUP(10^16,-LEFT(A1,ROW($1:$20)),ROW($1:$20))),"") として、Ctrl+Shift+Enter。 C1に =SUBSTITUTE(A1,B1,) ということでは、どうでしょう? (LOOKUP) A B C 1 10.0KG 10.0 KG 2 1,000SET 1,000 SET 3 AAA AAA ---- 早速の回答ありがとうございます。 すごいですね!感動しています。 でも何でできたのか、さっぱりわかりません。 勉強不足を痛感します。 できれば、簡単に仕組みを教えていただければ幸いです。 (ぱっくん) ---- こちらでLOOKUPさんの解説があります。 ご参考までに。(すごい) [[20040213163030]]『表示形式・単位をつけたいが』(nana7) (KAMIYA) -------------------------- 解決済みですが参考に(マクロでこんな方法もありますということで) (類似の質問「我輩はねこ・・・」 のレスと同じ考え方です。) 1)セル内の値(10.0KGなど)の文字を左から一個づつ調べ、A-Zのアスキーキーコード と、それ以外で分類して、それぞれ文字を連結する。 2) 出来たA-Z郡はそのセルの隣の隣に記載する。 それ以外の郡は隣に記載する。 3) 各セルで繰り返す。 (なお) ---- =IF(COUNT(-LEFT(A1,ROW($1:$20))), LEFT(A1,LOOKUP(10^16,-LEFT(A1,ROW($1:$20)),ROW($1:$20))),"") Ctrl+Shift+Enter。 この数式をA1を10.0KGとして、説明させていただきます。 前処理 =IF(COUNT(-LEFT(A1,ROW($1:$20))), 主部,"") 主部 LEFT(A1,LOOKUP(10^16,-LEFT(A1,ROW($1:$20)),ROW($1:$20))) 前処理 の 1-1 =IF( 2-1 COUNT( 3-0 -LEFT(A1,ROW($1:$20)) 2-2 ), 1-2 主部,"") 3-0は、10.0KGをLEFT()で、ROW($1:$20)の配列で、左から1桁、2桁、……、20桁 を抽出し、算術演算子-を付け、数値に変換できるかどうか調べています。 -1、-10、-10.、-10.0、-10.0K、-10.0KGとなり、頭から4個だけ数字に変換できます。 -LEFT()の配列は、 {-1;-10;-10;-10;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!; #VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!} となりますので、COUNT(配列)は、4(TRUE)を戻し、主部の処理に入ります。 主部 の 4-1 LEFT(A1, 5-1 LOOKUP(10^16, 5-2 -LEFT(A1,ROW($1:$20)), 5-3 ROW($1:$20)) 4-2 ) 5-1-2-3は、前述の配列5-2の-LEFT(A1,ROW($1:$20))の数値の一番奥の最長のものを LOOKUP()の第一引数(最大値10^16)で検索し、これは、第4番目ですので、 第三引数5-3のROW($1:$20)の配列の4番目で、4を戻します。 4-1-2は、LEFT(A1,4)ということで、10.0を戻します。 対象セルの値を左1桁、1+2桁と順に数値に変換できるか調べて、その最長の桁のものを 戻しています。したがって、セル値は、全角、半角を問わず、-や,区切り%なども抽出の 対象となります。1,123.5%ポイントや、2月20日付なども抽出可能です。 このような意図で試作しています。 (LOOKUP) ---- わかりました! しかし芸術の域に達していますね。 ありがとうございました。 ⇒ (LOOKUP)様 (ぱっくん) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200402/20040219111058.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97012 documents and 608128 words.

訪問者:カウンタValid HTML 4.01 Transitional