[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセル2002へ』(闘鯉王)
WPS Spreadsheetsで作成したシートを名前を付けて保存で、Microsoft Excel 97-2003 ファイル(*.xls)で保存したファイルをエクセル2002で開いた所、計算式がエラーになってしまいました。
エラーになって、表示されなくなったセルの計算式は下記の通りです。
=IF(U2="1",1,IF(U2="2",2,IF(U2="3",3,IF(U2="4",4,IF(U2="5",5,IF(U2="6",6,IF(U2="7",7,IF(U2="8",8,IF(U2="9",9,IF(U2="10",10,IF(U2="11",11,IF(U2="12",12,IF(U2="13",13,IF(U2="14",14,IF(U2="15",15,IF(U2="16",16,IF(U2="17",17,IF(U2="18",18,IF(U2="19",19,IF(U2="20",20,IF(U2="21",21,IF(U2="22",22,IF(U2="23",23,IF(U2="24",24,IF(U2="25",25,IF(U2="26",26,IF(U2="27",27,IF(U2="28",28,IF(U2="29",29,IF(U2="30",30,IF(U2="31",31,IF(U2="32",32,IF(U2="33",33,IF(U2="34",34,IF(U2="35",35,IF(U2="36",36,IF(U2="37",37,IF(U2="38",38,IF(U2="39",39,IF(U2="40",40,IF(U2="41",41,IF(U2="42",42,IF(U2="43",43,IF(U2="44",44,IF(U2="45",45,IF(U2="46",46,IF(U2="47",47,IF(U2="48",48,IF(U2="49",49,IF(U2="50",50,IF(U2="51",51,IF(U2="52",52,IF(U2="53",53,IF(U2="54",54,IF(U2="55",55,IF(U2="56",56,IF(U2="57",57,IF(U2="58",58,IF(U2="59",59,IF(U2="60",60,"範囲外"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
独学で少しずつ作ったのですが、このような複雑な数値の時だけ反映させる方法が私の実力ではできませんでした。どうしたら良いのか教えて頂けると助かります(*・ω・)*_ _)ペコリ
< 使用 Excel:Excel2002、使用 OS:Windows10 >
と同じじゃないっすか?
(まっつわん) 2018/06/07(木) 18:41
まあ、数字(文字)を数値に直すだけだったら 1を掛ければいいんでしょうけど・・・・
(もこな2) 2018/06/07(木) 18:49
住所番地を?−?−?って入力した時に、その住所の番地で種類分けしてたんです。
町名によっても違いますし、このやり方しか、私には出来なかったもので^^;
(闘鯉王) 2018/06/08(金) 00:13
>住所番地を?−?−?って入力した時に、その住所の番地で種類分けしてたんです。 >町名によっても違いますし、このやり方しか、私には出来なかったもので^^;
と言うことは、実際はもっと長い数式ってことですね?
番号も実際は数値じゃなく「範囲の種類」を表しているんですね?
それにしても「町名による分岐条件」がどこにも書かれていないですね。
もう少し、実際に近い数式を提示して貰えませんか? ただし、60も要らないので、10以内で実際の数式が推測できるものにしてください。
(半平太) 2018/06/08(金) 10:50
ごめんなさい。私にはちょっと意味がよく解りませんでした。
U2の数式どおりだと、海山町1-22-3 ってQ2に入ってたら 22という数字(文字が)返ってきますよね。
この文字を数値として見たときに、1〜60の範囲内であれば数値を、そうでなければ「範囲外」という文字を返したいってことでいいんでしょうか?
単純に住居表示なのか、地番表示なのか分けたいってことなら別のアプローチになりそうだし、う〜ん・・・力及ばず申し訳ない。
(もこな2) 2018/06/08(金) 12:58
=IF(U2="1",1,IF(U2="2",2,IF(U2="3",3,IF(U2="4",4,IF(U2="5",5,IF(U2="6",6,IF(U2="7",7,IF(U2="8",8,IF(U2="9",9,IF(U2="10",10,IF(U2="11",11,IF(U2="12",12,IF(U2="13",13,IF(U2="14",14,IF(U2="15",15,IF(U2="16",16,IF(U2="17",17,IF(U2="18",18,IF(U2="19",19,IF(U2="20",20,IF(U2="21",21,IF(U2="22",22,IF(U2="23",23,IF(U2="24",24,IF(U2="25",25,IF(U2="26",26,IF(U2="27",27,IF(U2="28",28,IF(U2="29",29,IF(U2="30",30,IF(U2="31",31,IF(U2="32",32,IF(U2="33",33,IF(U2="34",34,IF(U2="35",35,IF(U2="36",36,IF(U2="37",37,IF(U2="38",38,IF(U2="39",39,IF(U2="40",40,IF(U2="41",41,IF(U2="42",42,IF(U2="43",43,IF(U2="44",44,IF(U2="45",45,IF(U2="46",46,IF(U2="47",47,IF(U2="48",48,IF(U2="49",49,IF(U2="50",50,IF(U2="51",51,IF(U2="52",52,IF(U2="53",53,IF(U2="54",54,IF(U2="55",55,IF(U2="56",56,IF(U2="57",57,IF(U2="58",58,IF(U2="59",59,IF(U2="60",60,"範囲外"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
とX列で再変換させてますので、前出の数式が入ってます。
説明不足で申し訳ありません。
他にどんなことを説明したら、理解して頂けるか書いて頂けると助かります。
(闘鯉王) 2018/06/09(土) 02:01
私の理解だと
【Q2】 【U2】 【問題の数式の結果】
海山町1-22-3 "22" 22
山川市4-61-5 "61" "範囲外"
川海村沼山6789 #VALUE! #VALUE!
ってなりそうなんですが、この動きで想定通りなんですか?
もしそうなら、
=If(U2*1>60,"範囲外",U2*1) で解決するような気がします。
(もこな2) 2018/06/09(土) 07:16
>MID関数で抜き出した文字列を別のセルで数値に変換してます。
=MID(Q2,SEARCH("-",Q2,1)+1,SEARCH("-",Q2,SEARCH("-",Q2,1)+1)-(SEARCH("-",Q2,1)+1))*1 ~~~ ↑ 「1」を掛ければ数値になりますけど、それではダメなんですか?
参考まで (笑) 2018/06/09(土) 09:56
ちなみに、別部分ではありますが、1を掛けることは提案済みです(質問者さんからのレスは無いですが)
(もこな2) 2018/06/09(土) 16:38
P2に住所1(町名を入力するよう)にしてあり、Q2に住所2(住所番地?−?−?と入力するように)してあり、住所3に建物名を入力するようにしてます。S2に備考みたいに予備として1つセルを確保してまして、T2に=MID(Q2,1,1)を入れてます。
U2に =MID(Q2,SEARCH("-",Q2,1)+1,SEARCH("-",Q2,SEARCH("-",Q2,1)+1)-(SEARCH("-",Q2,1)+1))
V2に =IF(T2="4",4,IF(T2="3",3,IF(T2="2",2,IF(T2="1",1))))
W2に =IF(U2="1",1,IF(U2="2",2,IF(U2="3",3,IF(U2="4",4,IF(U2="5",5,IF(U2="6",6,IF(U2="7",7,IF(U2="8",8,IF(U2="9",9,IF(U2="10",10,IF(U2="11",11,IF(U2="12",12,IF(U2="13",13,IF(U2="14",14,IF(U2="15",15,IF(U2="16",16,IF(U2="17",17,IF(U2="18",18,IF(U2="19",19,IF(U2="20",20,IF(U2="21",21,IF(U2="22",22,IF(U2="23",23,IF(U2="24",24,IF(U2="25",25,IF(U2="26",26,IF(U2="27",27,IF(U2="28",28,IF(U2="29",29,IF(U2="30",30,IF(U2="31",31,IF(U2="32",32,IF(U2="33",33,IF(U2="34",34,IF(U2="35",35,IF(U2="36",36,IF(U2="37",37,IF(U2="38",38,IF(U2="39",39,IF(U2="40",40,IF(U2="41",41,IF(U2="42",42,IF(U2="43",43,IF(U2="44",44,IF(U2="45",45,IF(U2="46",46,IF(U2="47",47,IF(U2="48",48,IF(U2="49",49,IF(U2="50",50,IF(U2="51",51,IF(U2="52",52,IF(U2="53",53,IF(U2="54",54,IF(U2="55",55,IF(U2="56",56,IF(U2="57",57,IF(U2="58",58,IF(U2="59",59,IF(U2="60",60,"範囲外"))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
X2に =MID(Q2,SEARCH("-",Q2,3)+1,SEARCH("-",Q2,SEARCH("-",Q2,1)+1)-(SEARCH("-",Q2,1)+1))
と入力してます。
私の実力ではこの作成でやっと到達出来たのですが、MID関数に×1を入れると数値に換算されるのを知りませんでした。
他に無駄とかあれば教えて頂けると、また書き直せるかもしれません。
色々ご教授お願いいたします(*・ω・)*_ _)ペコリ
(闘鯉王) 2018/06/15(金) 10:09
バージョンアップについては、2002が古いといえば古いので、バージョンアップする気があるならした方がいいんでしょうけど、#NAME?って出てるので無ければ関数自体は2002でも使えるものってことになりますから、バージョンアップしたら、希望通りの動作になりますっってわけじゃないとおもいますよ。
(数式を適切なものに直さなきゃ、エラーはエラーのままです)
(もこな2) 2018/06/21(木) 22:34
単純にネストの問題なので、半分づつにしてみては? 1〜100までだったら、1〜50、51〜100 に分け、 さらに1〜25、26〜50、51〜75、76〜100 まで、さらに続く。 7の何乗だか知らん分のIf文が書けるようになるようです。
対応表を作って、Vlookupで参照した方が簡単だと思います。 (BJ) 2018/06/21(木) 23:34
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.