• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字の表示を変える関数、日付入力の関数)

エクセルVBAで文字の表示変更と日付入力機能の実装方法

web2525の回答

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

【やりたい事1】はマクロでないと対応不可 http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_event.html#change ↑ こんな感じで 【やりたい事2】条件によって計算式が大きく変わります 指定された条件: 100の場合は⇒あいうえお 200の場合は⇒かきくけこ のみであれば D列 =CHOOSE(VLOOKUP($B2,[データ元.xls]Sheet1!$A$2:$C$4,3,FALSE)/100,"あいうえお","かきくけこ") ↑これで対応出来ますが、おそらくやりたいことはもっと別のことなんだろうと思う

関連するQ&A

  • 日付を文字列ではなく、日付として表示させたいです!

    Excelで下記の数式を使用し、隣のシートから日付(〇〇〇〇/〇〇/〇〇の形式)を 表示させたいのですが、何故か文字列として表示されてしまいます。 (2020/5/20なら43971と表示され、表示形式を「日付」で選択しても変わりません) 日付として表示するにはどうしたら良いでしょうか。 また、同じセルでも日付ではなく、単語が表示されるケースもあるので、その場合は同じ単語が表示されるようにしたいです。 ◆使用している数式 IF(ISERROR(VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE)),"",VLOOKUP(G10,Aシート!&B$2:$F$30,5,FALSE)&"") 空欄の時は、0やエラーを表示させないように式に組んでいるので、 もしかしたら、その影響かもしれません... excelにあまり詳しくなく、ご教示頂けましたら助かります。 よろしくお願いいたします。

  • 関数の中のシート名【複数】を置換を使って置換るには

    タイトルの件、質問します。 下記1の関数があります。 この中にあるシート名を下記2のとおり、置換を使って 書き換えたいと考えています。 実践しましたが、うまくできませんでした。 方法は、手入力以外であれば、置換機能ではなくてもOKです。 ご存知の方、いらっしゃいましたら、宜しくお願いします。 【下記2】 Sheet1 を 1000 に書き変えたい Sheet2 を 2000 に書き変えたい Sheet3 を 3000 に書き変えたい ※1000、2000、3000とは、シートの名前です。 【下記1】 =IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet1!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet2!A:C,2,FALSE)) &IF(ISERROR(VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)),"",VLOOKUP(SUBSTITUTE(B$1,"-",""),[名簿ブックa.xls]Sheet3!A:C,2,FALSE)) ※本関数は、教えてgoo回答者様に、ご教授いただきました。

  • 【エクセル2000】郵便番号を入力すると住所を表示するようにしたい(過去質問確認済)

    エクセル2000で郵便番号を入力すると住所を表示するようにしたいと考えています。 表示方法と現在の関数は次の通りです。 【入力シート】 A列:郵便番号入力セル B列:住所 全体(=C列&D列&E列) C列:住所 都道府県 (=VLOOKUP(A列,'データシート'!$A:$D,2,FALSE) D列:住所 市町村 (=VLOOKUP(A列,'データシート'!$A:$D,3,FALSE) E列:住所 番地以下 (=VLOOKUP(A列,'データシート'!$A:$D,4,FALSE) 【データシート】 A列:郵便番号 B列:住所 都道府県 C列:住所 市町村 D列:住所 番地以下 表示方法はこののやり方で問題がないのですが、 全国住所データが約12万件以上あるため、エクセルの列に入りきりません。 過去の質問を確認しましたが、希望の回答はありませんでした。 どうにかして検索データの量を12万件以上にすることは出来ませんか? シートを複数に分けるとか、VLOOKUP関数の検索列を複数に分けるなどでも結構です。 宜しくお願いします。

  • Excel2007 IF関数での日付データ認識

    下記式で、2004/3/31以前を真とし、Vlookupを区別させたい。 【作成した式】=IF($D4<=3/31/2004,VLOOKUP($C4,Sheet3!$E$2:$G$26,2,FALSE),VLOOKUP($C4,Sheet3!$E$27:$G$51,2,FALSE)) 論理部分の日付の認識が ">=" と ">=" が逆になり ">=" のみあるいは ">=" の結果しかでずにおります。 関数で日付を認識させるには特別なルールが必要でしょうか。 D4(D列)は日付データ(例:2001/10/5)を入れてある。 Vlookup計算は機能している。 アドバイスをどうぞ宜しくお願いいたします。

  • [EXCEL]VLOOKUP関数がうまくいかないので助けてください

    あ.xls   B  C  1 10   2 12 3 15 い.xls   B  D 1 10 100 2 15 150 3 18 180 あ.xlsファイルのC列に、 あ.xlsファイルのB1セルと、い.xlsファイルのB1を見比べて同じ値なら、 い.xlsファイルのD1の値をあ.xlsファイルC1に値を表示する数式を 入力しようと思います。 「=VLOOKUP(B1,[い.xls]Sheet1!$1:$3,4,false)」と あ.xlsファイルのC1セルに数式を入力しましたが、すべてエラー(#N/A)で 返ってしまいます。 正常に機能するよう、数式を教えてください。

  • excelで文字列を検索する関数を教えてください。

    いつもお世話になります。 エクセルの関数で、シートAのセルA1に入っている文字列をシートBのC列から探し出し、同じ文字列があればTrueをなければFalseを返す関数を教えてください。 わからないながらも色々調べてみたのですが、検索にはVLOOKUPがよく使われているようですが、シートBのC列は、データの並べ替えができないので、VLOOKUPは、使えないのです。 よろしくお願いします。

  • 月途中の日付から月末の日付を

    以前日付関連の事で質問させていただいた者です その節はお世話になりました。 http://okweb.jp/kotaeru.php3?q=957464 シート1のA列に日付が入っています 形式は(2004/08/15)です。 日付は飛び飛びで順番に並んでいて、 セルは詰まっています。 A1が2004/08/15 A2が2004/08/17 A3が2004/08/18 という具合で データ最終行はそのつど変わります。 C列には数字が入っています(A列とは無関係)。 シート2のA1に =IF(Sheet1!A1="","",MIN(Sheet1!A:A)) シート2のA2に=IF(A1="","",IF(MAX(Sheet1!A:A)>=A1+1,A1+1,"")) シート2のB1に=A1 シート2のC1に =IF(ISNA(VLOOKUP(B1,Sheet1!A:C,3,FALSE)),"",VLOOKUP(B1,Sheet1!A:C,3,FALSE)) と入れています。 ここでシート2のA2とB1とC1をそれぞれ下方向に コピーもしくは変数でまわしたいのです。 ↑の例で言うとシート1のAの最終行はA3で値は 2004/08/18ですが シート2のA列ではこれをマクロで月末(2004/08/31)まで コピーして、なおかつシート2のB列とC列も 同様に月末まで コピーしたいのですが。 こういったことは可能でしょうか? 見づらくなってしまい、申し訳ありません

  • エクセルの日付を比較する関数について

    下記を実現できる関数を教えてもらえますでしょうか。 下記のシートQのセルBとCに日付を入力している。 セルBとCのデータを比較して、セルBとCの日付が同一なら、セルDに「同じ」 を表示する。 セルBとCの日付が異なるならばセルDに「異なる」を表示する。 お手数ですが、宜しくお願いします。 シートQ  A B  C     D      1  受信日  送信日     2  6/1    6/1    同じ 3  6/5    6/6    異なる 4  6/10    6/10    同じ 5  6/11    6/12    異なる 6  6/11    6/13    異なる 7  6/15    6/15    同じ 8  6/19    6/19    同じ 9  6/20    6/21    異なる

  • 日付入力するとその日のデータが表示される関数

    エクセル2003を使用して発注管理をしてます。 シート1には個人ごとの社食利用状況が入力されており シート2には日別の伝票を作成してます。 今回質問したいのはシート2の利用日に日付を入れると シート1の一覧を参照して、その日に誰がいつ食べるか(朝昼晩) を自動で表記するようにしたいのです。 あとシート2には朝昼晩の注文数を入れる箇所も作りたいのですが そこも自動入力されたいです。 《シート1》    A   B  C  D  E          8/1 8/2 8/3 ~ 1      朝  注 2 花子  昼  3      晩 4      朝  5 太郎  昼     注 6      晩  注 7      朝  注 8 次郎  昼  9      晩  注 10     朝 11 雪子  昼 12     晩 《シート2》    A   B   C   D   E 1 8/1 2  朝  昼  晩 3  2     2 4 5 花子朝 6 太郎晩 7 次郎朝晩      A1に日付を入力するとA3:C3に自動表示させ、A5以下に   誰がいつの食事をするのか出したいのです。ここは《シート1》の   名前配置順を変えずに、A列とB列をくっつけ《シート2》のA5以下に   表示させたいです。   よろしくお願いいたします。

  • ExcelのVLOOKUP関数で時刻を扱うと

    こんばんは。 提出用の勤務表を作ろうと思っています。 ほぼ同じフォーマットで、入力用(a.xls)と提出用(b.xls)のファイルが2つあります。 2つのファイルに入力するのも手間なので、VLOOKUP関数で時刻だけ呼びだそうとしましたが、0:00になります。 どうしてでしょうか。 A列に日付、B列に始業時間、C列に終業時間を入れています。 始業時間を呼び出すのは日付を検索値にしたので、関数式はVLOOKUP($A1,[b.xls]Sheet1!$A$1:$c$31,2,TRUE)で合っていると思います。 どちらも表示形式は"h:mm"です。